Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0

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,