def test_redirectError(self): try: cv.imshow("", None) # This causes an assert self.assertEqual("Dead code", 0) except cv.error as _e: pass handler_called = [False] def test_error_handler(status, func_name, err_msg, file_name, line): handler_called[0] = True cv.redirectError(test_error_handler) try: cv.imshow("", None) # This causes an assert self.assertEqual("Dead code", 0) except cv.error as _e: self.assertEqual(handler_called[0], True) pass cv.redirectError(None) try: cv.imshow("", None) # This causes an assert self.assertEqual("Dead code", 0) except cv.error as _e: pass
def test_error(): def verbose_error_handler(status, func_name, err_msg, file_name, line, userdata=''): print("Status = %d" % status) print("Function = %s" % func_name) print("Message = %s" % err_msg) print("Location = %s(%d)" % (file_name, line)) print("User data = %r" % userdata) cv.redirectError(verbose_error_handler) cv.imshow('', None)
def enumDevs(self): index = 0 cv2.redirectError(self.silence) while index < 32: cap = cv2.VideoCapture(index) start = time.time() if cap.isOpened(): cap.set(cv2.CAP_PROP_FRAME_WIDTH, 144) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 144) elapsed = time.time() - start if cap is None or not cap.isOpened(): pass else: self.devs.append(index) self.fps.append(1.0 / elapsed) index += 1 cap.release() self.devs = dict(enumerate(self.devs, start=1)) self.fps = dict(enumerate(self.fps, start=1)) self.model.clear() return self.devs
str(i)) else: adev.Found = True except: pass for dev in hal.Devices.Modules: if isinstance(dev, OpenCVCamera): if dev.Found == False: del (dev) time.sleep(7) Cameras = [] @atexit.register def unloadmodule(): for dev in hal.Devices.Modules: if isinstance(dev, OpenCVCamera): del (dev) def silent_error_handler(status, func_name, err_msg, file_name, line, userdata): pass try: cv2.redirectError(silent_error_handler) except: pass enumerate = opencvEnumerate() enumerate.start() except: print('cv2,pyudev must be installed to use this module !')
import numpy as np import math import random import sys,os import pandas as pd from sklearn.preprocessing import LabelBinarizer import datetime import subprocess import shlex import skvideo.io as skvid from skimage.transform import resize as skresize import cv2 def silent_error_handler(status, func_name, err_msg, file_name, line): pass cv2.redirectError(silent_error_handler) #None if default def get_opencv_nframes_duration(path, round_down = False): """ using opencv to return frame number and duration, slow but accurate :param path: path to video :param round_down: round the duration down to integer? :return: frame number as integer,duration in seconds as float """ vid = cv2.VideoCapture(path) counter = 0 while vid.grab(): counter += 1 d = vid.get(cv2.CAP_PROP_POS_MSEC) / 1000. d = math.floor(d) if round_down else d vid.release()