Ejemplo n.º 1
0
    def __init__(self):

        self.cap = cv2.VideoCapture(0)

        self.is_record = False
        self.out = None
        self.transformed_frame = None

        self.scanner = Scanner()
        self.cached_frame = None
Ejemplo n.º 2
0
    def __init__(self):
        # Open a camera
        self.cap = cv2.VideoCapture(0)

        # Initialize video recording environment
        self.is_record = False
        self.out = None
        self.transformed_frame = None

        self.scanner = Scanner()
        self.cached_frame = None
Ejemplo n.º 3
0
class VideoCamera(object):
    def __init__(self):
        # Open a camera
        self.cap = cv2.VideoCapture(0)

        # Initializing video recording environment
        self.is_record = True
        self.out = None
        self.transformed_frame = None

        self.scanner = Scanner()
        self.cached_frame = None
        self.fourcc = "MJPG"
        self.frameSize = (640, 480)
        self.fps = 6
        self.video_filename = "./temp_video.avi"
        self.video_writer = cv2.VideoWriter_fourcc(*self.fourcc)
        self.video_out = cv2.VideoWriter(self.video_filename,
                                         self.video_writer, self.fps,
                                         self.frameSize)

    def __del__(self):
        self.cap.release()

    def get_video_frame(self):
        ret, frame = self.cap.read()
        if ret:
            frame, _ = self.scanner.detect_edge(frame)
            self.cached_frame = frame
            ret, jpeg = cv2.imencode('.jpg', frame)
            self.video_out.write(frame)
            return jpeg.tobytes()
        else:
            return None

    def capture_frame(self):
        ret, frame = self.cap.read()
        if ret:
            _, frame = self.scanner.detect_edge(frame, True)
            ret, jpeg = cv2.imencode('.jpg', frame)
            self.transformed_frame = jpeg.tobytes()
        else:
            return None

    def get_cached_frame(self):
        return self.cached_frame

    def get_image_frame(self):
        return self.transformed_frame
Ejemplo n.º 4
0
    def __init__(self):
        # Open a camera
        self.cap = cv2.VideoCapture(0)

        # Initializing video recording environment
        self.is_record = True
        self.out = None
        self.transformed_frame = None

        self.scanner = Scanner()
        self.cached_frame = None
        self.fourcc = "MJPG"
        self.frameSize = (640, 480)
        self.fps = 6
        self.video_filename = "./temp_video.avi"
        self.video_writer = cv2.VideoWriter_fourcc(*self.fourcc)
        self.video_out = cv2.VideoWriter(self.video_filename,
                                         self.video_writer, self.fps,
                                         self.frameSize)
Ejemplo n.º 5
0
class VideoCamera(object):
    def __init__(self):
        # Open a camera
        self.cap = cv2.VideoCapture(0)

        # Initialize video recording environment
        self.is_record = False
        self.out = None
        self.transformed_frame = None

        self.scanner = Scanner()
        self.cached_frame = None

    def __del__(self):
        self.cap.release()

    def get_video_frame(self):
        ret, frame = self.cap.read()
        if ret:
            frame, _ = self.scanner.detect_edge(frame)
            self.cached_frame = frame
            ret, jpeg = cv2.imencode('.jpg', frame)
            return jpeg.tobytes()
        else:
            return None

    def capture_frame(self):
        ret, frame = self.cap.read()
        if ret:
            _, frame = self.scanner.detect_edge(frame, True)
            ret, jpeg = cv2.imencode('.jpg', frame)
            self.transformed_frame = jpeg.tobytes()
        else:
            return None

    def get_cached_frame(self):
        return self.cached_frame

    def get_image_frame(self):
        return self.transformed_frame
Ejemplo n.º 6
0
import argparse
from document import Scanner
import cv2

ap = argparse.ArgumentParser()
ap.add_argument("-i",
                "--image",
                required=True,
                help="Path to the image to be scanned")
ap.add_argument("-k",
                "--ksize",
                required=False,
                type=int,
                default=5,
                help="Size of gaussian kernel to perform blur")
args = vars(ap.parse_args())

scanner = Scanner()
im = cv2.imread(args['image'])
with_contours, transformed = scanner.detect_edge(im,
                                                 kernel_size=args['ksize'],
                                                 transform_image=True)

print("Find contours of paper")
cv2.imshow("Outline", with_contours)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imshow("Wraped image", transformed)
cv2.waitKey(0)
cv2.destroyAllWindows()
Ejemplo n.º 7
0
import numpy as np
import cv2
from document import Scanner

cap = cv2.VideoCapture(2)
scanner = Scanner()

while(cap.isOpened()):
    
    ret, frame = cap.read()
    video_frame = None
    image_frame = None

    if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    if ret:
        if cv2.waitKey(1) & 0xFF == ord('p'):
            video_frame, image_frame = scanner.detect_edge(frame, True)
        else:
            video_frame, _ = scanner.detect_edge(frame)

        if video_frame is not None:
            cv2.imshow("Quadrilateral", video_frame)

        if image_frame is not None:
            cv2.imshow("Transfrom", image_frame)

# Release everything if job is finished
cap.release()
cv2.destroyAllWindows()