def __init__(self): dmcam.init(None) dmcam.log_cfg(dmcam.LOG_LEVEL_INFO, dmcam.LOG_LEVEL_DEBUG, dmcam.LOG_LEVEL_NONE) self.dev = dmcam.dev_open(None) assert self.dev is not None # - set capture config - cap_cfg = dmcam.cap_cfg_t() cap_cfg.cache_frames_cnt = 10 # framebuffer = 10 cap_cfg.on_error = None # use cap_set_callback_on_error to set cb cap_cfg.on_frame_rdy = None # use cap_set_callback_on_frame_ready to set cb cap_cfg.en_save_replay = True # True = save replay, False = not save cap_cfg.en_save_dist_u16 = False # True to save dist stream for openni replay cap_cfg.en_save_gray_u16 = False # True to save gray stream for openni replay cap_cfg.fname_replay = os.fsencode( "dm_replay.oni") # set replay filename dmcam.cap_config_set(self.dev, cap_cfg) #dmcam.cap_set_frame_buffer(self.dev, None, 10 * 320 * 240 * 4 * 2) self.frame_data = bytearray(320 * 240 * 4 * 4) self.frame_dist = [np.zeros((240, 320))] self.frame_gray = [np.zeros((240, 320))] self.frame_cnt = 0 self.start() return
def __init__(self): dmcam.init(None) dmcam.log_cfg(dmcam.LOG_LEVEL_INFO, dmcam.LOG_LEVEL_DEBUG, dmcam.LOG_LEVEL_NONE) self.dev = dmcam.dev_open(None) assert self.dev is not None dmcam.cap_set_frame_buffer(self.dev, None, 10 * 320 * 240 * 4 * 2) self.frame_data = bytearray(320 * 240 * 4 * 4) self.frame_dist = [np.zeros((240, 320))] self.frame_gray = [np.zeros((240, 320))] self.frame_cnt = 0 self.start() return
def _init_dmcam(self): dmcam.init(None) dmcam.log_cfg(dmcam.LOG_LEVEL_INFO, dmcam.LOG_LEVEL_DEBUG, dmcam.LOG_LEVEL_NONE) log.info("Scanning dmcam device ..") while True: devs = dmcam.dev_list() if devs is None: log.info("No device found") print(u"没有找到TCM-E2设备,请插入设备后点任意键继续") input("") # win32api.MessageBox(0, u"没有找到TCM-E2设备,请插入设备后点击【确定】继续", u"警告", win32con.MB_OK) # time.sleep(1) else: log.info("Found {} devices".format(len(devs))) break
def on_cap_err(dev, errnumber, errarg): print("caperr: %s" % dmcam.error_name(errnumber)) if errnumber == dmcam.DMCAM_ERR_CAP_FRAME_DISCARD: print(" %d frame discarded" % int(errarg)) # if return false, the capture process will be stopped return True # init the lib with default log file dmcam.init(None) # init with specified log file # dmcam.init("test.log") # set debug level dmcam.log_cfg(dmcam.LOG_LEVEL_INFO, dmcam.LOG_LEVEL_DEBUG, dmcam.LOG_LEVEL_NONE) # list device (maximum 10 devices to store) print(" Scanning dmcam device ..") devs = dmcam.dev_list() if devs is None: print(" No device found") sys.exit(1) print("found %d device" % len(devs)) for i in range(len(devs)): print("DMCAM#%d [%03d:%03d:%03d]: VENDOR=%s, PROD=%s, SERIAL=%s" % (i, devs[i].if_info.info.usb.usb_port_num, devs[i].if_info.info.usb.usb_bus_num, devs[i].if_info.info.usb.usb_dev_addr, devs[i].vendor,