From b29ecbc059d70842f1b23a87ae14ebfdec073741 Mon Sep 17 00:00:00 2001 From: Emiliana <38952746+emilianavt@users.noreply.github.com> Date: Sat, 8 Aug 2020 00:07:01 +0200 Subject: [PATCH] Added escapi back and added code to attempt using each different library for camera reading. --- escapi.py | 125 ++++++++++++++++++++++++++++++++++++++ escapi/escapi_x64.dll | Bin 0 -> 121856 bytes escapi/escapi_x86.dll | Bin 0 -> 98304 bytes input_reader.py | 135 +++++++++++++++++++++++++++++++++++------- make_exe.bat | 4 ++ 5 files changed, 242 insertions(+), 22 deletions(-) create mode 100644 escapi.py create mode 100644 escapi/escapi_x64.dll create mode 100644 escapi/escapi_x86.dll diff --git a/escapi.py b/escapi.py new file mode 100644 index 0000000..bdda37f --- /dev/null +++ b/escapi.py @@ -0,0 +1,125 @@ +""" +A simple python wrapper around escapi + +Usage: + +from camera import Device + +device = Deveice.connect(0, 500, 500) +image = device.get_image() +""" + +import os +import platform +import sys +from ctypes import * +from PIL import Image +import numpy as np +import cv2 + +def resolve(name): + f = os.path.join(os.path.dirname(__file__), name) + return f + + +class CAPTURE_PROPETIES: + CAPTURE_BRIGHTNESS = 1, + CAPTURE_CONTRAST = 2, + CAPTURE_HUE = 3, + CAPTURE_SATURATION = 4, + CAPTURE_SHARPNESS = 5, + CAPTURE_GAMMA = 6, + CAPTURE_COLORENABLE = 7, + CAPTURE_WHITEBALANCE = 8, + CAPTURE_BACKLIGHTCOMPENSATION = 9, + CAPTURE_GAIN = 10, + CAPTURE_PAN = 11, + CAPTURE_TILT = 12, + CAPTURE_ROLL = 13, + CAPTURE_ZOOM = 14, + CAPTURE_EXPOSURE = 15, + CAPTURE_IRIS = 16, + CAPTURE_FOCUS = 17, + CAPTURE_PROP_MAX = 18, + + +class SimpleCapParms(Structure): + _fields_ = [ + ("buffer", POINTER(c_int)), + ("width", c_int), + ("height", c_int), + ("fps", c_int), + ] + + +lib = None + + +def init(): + global lib + if platform.architecture()[0] == '32bit': + dll_path = resolve(os.path.join("escapi", "escapi_x86.dll")) + lib = cdll.LoadLibrary(dll_path) + else: + dll_path = resolve(os.path.join("escapi", "escapi_x64.dll")) + lib = cdll.LoadLibrary(dll_path) + if lib is None or lib.ESCAPIVersion() != 0xfff001: + print("Invalid ESCAPI DLL found.") + sys.exit(1) + lib.initCapture.argtypes = [c_int, POINTER(SimpleCapParms)] + lib.initCapture.restype = c_int + lib.initCOM() + +def count_capture_devices(): + return lib.countCaptureDevices() + +def device_name(device): + """ + Get the device name for the given device + :param device: The number of the device + :return: The name of the device + """ + namearry = (c_char * 256)() + lib.getCaptureDeviceName(device, namearry, 256) + camearaname = namearry.value + return camearaname + +def init_camera(device, width, height, fps): + global devices + array = (width * height * c_int)() + options = SimpleCapParms() + options.width = width + options.height = height + options.fps = fps + options.buffer = array + lib.initCapture(device, byref(options)) + return array + +def do_capture(device): + lib.doCapture(device) + +def is_capture_done(device): + return lib.isCaptureDone(device) + +def read(device, width, height, array): + if is_capture_done(device): + img = Image.frombuffer('RGBA', (width, height), array, 'raw', 'BGRA', 0, 1) + img = np.array(img) + img = cv2.cvtColor(img, cv2.COLOR_RGBA2BGR); + return img + else: + return None + +def get_image(device, width, height, array): + lib.doCapture(device) + + while lib.isCaptureDone(device) == 0: + pass + + img = Image.frombuffer('RGBA', (width, height), array, 'raw', 'BGRA', 0, 0) + img = np.array(img) + img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR); + return img + +def deinit_camera(device): + lib.deinitCapture(device) diff --git a/escapi/escapi_x64.dll b/escapi/escapi_x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..e2860b75c57528c23ed0034e976b6fe4d301ace7 GIT binary patch literal 121856 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 literal 0 HcmV?d00001 diff --git a/escapi/escapi_x86.dll b/escapi/escapi_x86.dll new file mode 100644 index 0000000000000000000000000000000000000000..e6e9a07492b4fcd7195edcb52aba2305afde5c19 GIT binary patch literal 98304 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

X@0{$`#1h64sXwSYojY> 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 z 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 literal 0 HcmV?d00001 diff --git a/input_reader.py b/input_reader.py index b08598d..42b1420 100644 --- a/input_reader.py +++ b/input_reader.py @@ -3,11 +3,14 @@ import sys import os import cv2 import numpy as np +import escapi import dshowcapture +import time +import traceback class VideoReader(): - def __init__(self, capture): - if os.name == 'nt': + def __init__(self, capture, camera=False): + if os.name == 'nt' and camera: self.cap = cv2.VideoCapture(capture, cv2.CAP_DSHOW) else: self.cap = cv2.VideoCapture(capture) @@ -23,40 +26,70 @@ class VideoReader(): def close(self): self.cap.release() -class CameraReader(VideoReader): +class EscapiReader(VideoReader): + def __init__(self, capture, width, height, fps): + self.device = None + self.width = width + self.height = height + self.fps = fps + self.device = capture + self.buffer = escapi.init_camera(self.device, self.width, self.height, self.fps) + escapi.do_capture(self.device) + def is_open(self): + return True + def is_ready(self): + return escapi.is_capture_done(self.device) + def read(self): + if escapi.is_capture_done(self.device): + image = escapi.read(self.device, self.width, self.height, self.buffer) + escapi.do_capture(self.device) + return True, image + else: + return False, None + def close(self): + escapi.deinit_camera(self.device) + +class DShowCaptureReader(VideoReader): def __init__(self, capture, width, height, fps, use_dshowcapture=True): self.device = None self.width = width self.height = height self.fps = fps - if os.name == 'nt' and use_dshowcapture: - self.device = dshowcapture.DShowCapture() - self.device.capture_device(capture, self.width, self.height, self.fps) - else: - super(CameraReader, self).__init__(capture) - self.cap.set(3, width) - self.cap.set(4, height) + self.device = dshowcapture.DShowCapture() + self.device.get_devices() + self.device_name = self.device.get_device(capture) + self.device.capture_device(capture, self.width, self.height, self.fps) + self.timeout = 1000 def is_open(self): - if self.device is None: - return super(CameraReader, self).is_open() return self.device.capturing() def is_ready(self): - if self.device is None: - return super(CameraReader, self).is_ready() return self.device.capturing() def read(self): - if self.device is None: - return super(CameraReader, self).read() - img = self.device.get_frame(1000) + img = self.device.get_frame(self.timeout) if img is None: return False, None else: return True, img def close(self): - if self.device is None: - super(CameraReader, self).close() - else: - self.device.destroy_capture() + self.device.destroy_capture() + +class OpenCVReader(VideoReader): + def __init__(self, capture, width, height, fps): + self.device = None + self.width = width + self.height = height + self.fps = fps + super(OpenCVReader, self).__init__(capture, camera=True) + self.cap.set(3, width) + self.cap.set(4, height) + def is_open(self): + return super(OpenCVReader, self).is_open() + def is_ready(self): + return super(OpenCVReader, self).is_ready() + def read(self): + return super(OpenCVReader, self).read() + def close(self): + super(OpenCVReader, self).close() class RawReader: def __init__(self, width, height): @@ -90,6 +123,24 @@ def try_int(s): except: return None +def test_reader(reader): + try: + for i in range(30): + if not reader.is_ready(): + time.sleep(0.02) + ret, frame = reader.read() + if not ret: + print("Not ret") + return False + if reader.is_open(): + return True + print("Fail") + return False + except: + traceback.print_exc() + print("Except") + return False + class InputReader(): def __init__(self, capture, raw_rgb, width, height, fps, use_dshowcapture=False): self.reader = None @@ -99,7 +150,47 @@ class InputReader(): elif os.path.exists(capture): self.reader = VideoReader(capture) elif capture == str(try_int(capture)): - self.reader = CameraReader(int(capture), width, height, fps, use_dshowcapture=use_dshowcapture) + if os.name == 'nt': + # Try with DShowCapture + good = True + name = "" + try: + if use_dshowcapture: + self.reader = DShowCaptureReader(int(capture), width, height, fps) + name = self.reader.device_name + good = test_reader(self.reader) + else: + good = False + except: + good = False + if good: + return + # Try with Escapi + good = True + try: + print(f"DShowCapture failed. Falling back to escapi for device {name}.", file=sys.stderr) + escapi.init() + devices = escapi.count_capture_devices() + found = None + for i in range(devices): + escapi_name = str(escapi.device_name(i).decode('utf8')) + if name == escapi_name: + found = i + if found is None: + good = False + else: + print(f"Found device {name} as {i}.", file=sys.stderr) + self.reader = EscapiReader(found, width, height, fps) + good = test_reader(self.reader) + except: + good = False + if good: + return + # Try with OpenCV + print(f"Escapi failed. Falling back to OpenCV. If this fails, please change your camera settings.", file=sys.stderr) + self.reader = OpenCVReader(int(capture), width, height, fps) + else: + self.reader = OpenCVReader(int(capture), width, height, fps) except Exception as e: print("Error: " + str(e)) diff --git a/make_exe.bat b/make_exe.bat index 4535931..667c5a3 100644 --- a/make_exe.bat +++ b/make_exe.bat @@ -1,9 +1,13 @@ REM pyinstaller --onefile ^ REM --add-binary dshowcapture/dshowcapture_x86.dll;. ^ REM --add-binary dshowcapture/dshowcapture_x64.dll;. ^ +REM --add-binary escapi/escapi_x86.dll;. ^ +REM --add-binary escapi/escapi_x64.dll;. ^ REM facetracker.py pyinstaller --onedir ^ --add-binary dshowcapture/dshowcapture_x86.dll;. ^ --add-binary dshowcapture/dshowcapture_x64.dll;. ^ + --add-binary escapi/escapi_x86.dll;. ^ + --add-binary escapi/escapi_x64.dll;. ^ facetracker.py \ No newline at end of file