def video(): global flag, regArr, handle regNum = 0 res, handle = ArducamSDK.Py_ArduCam_autoopen(cfg) if res == 0: openFlag = True print "device open success!" while (regArr[regNum][0] != 0xFFFF): ArducamSDK.Py_ArduCam_writeSensorReg(handle, regArr[regNum][0], regArr[regNum][1]) regNum = regNum + 1 res = ArducamSDK.Py_ArduCam_beginCapture(handle) if res == 0: print "transfer task create success!" while flag: res = ArducamSDK.Py_ArduCam_capture(handle) if res != 0: print "capture fail!" break time.sleep(0.03) if flag == False: break else: print "transfer task create fail!" res = ArducamSDK.Py_ArduCam_close(handle) if res == 0: openFlag = False print "device close success!" else: print "device close fail!" else: print "device open fail!"
def show2(): global flag, regArr, handle global W_zoom, H_zoom, V_value, H_value, lx, ly, downFlag, saveFlag, saveNum regNum = 0 res, handle = ArducamSDK.Py_ArduCam_autoopen(cfg) if res == 0: openFlag = True print "device open success!" while (regArr[regNum][0] != 0xFFFF): ArducamSDK.Py_ArduCam_writeSensorReg(handle, regArr[regNum][0], regArr[regNum][1]) regNum = regNum + 1 res = ArducamSDK.Py_ArduCam_beginCapture(handle) if res == 0 and flag: print "transfer task create success!" res = ArducamSDK.Py_ArduCam_capture(handle) if ArducamSDK.Py_ArduCam_available(handle) > 0: print "estou available" res, data = ArducamSDK.Py_ArduCam_read(handle, Width * Height) image = Image.frombuffer("L", (Width, Height), data) img = np.array(image) height, width = img.shape[:2] img2 = cv2.cvtColor(img, COLOR_BYTE2RGB) if args.name and capture: cv2.imwrite(args.name + "." + args.type, img2) if not args.show: return if saveFlag: saveFlag = False saveNum += 1 name = "" if "bmp" == args.type: name = str(saveNum) + ".bmp" if "png" == args.type: name = str(saveNum) + ".png" if "jpg" == args.type: name = str(saveNum) + ".jpg" cv2.imwrite(name, img2) if res != 0: print "capture fail!" return if flag == False: return else: print "transfer task create fail!" res = ArducamSDK.Py_ArduCam_close(handle) if res == 0: openFlag = False print "device close success!" else: print "device close fail!" else: print "device open fail!"
def readThread(): global timestamps, images handle = {} data = {} regNum = 0 res, handle = ArducamSDK.Py_ArduCam_autoopen(cfg) #print(handle) #print(3) if res == 0: print("device open success!") while (regArr[regNum][0] != 0xFFFF): ArducamSDK.Py_ArduCam_writeSensorReg(handle, regArr[regNum][0], regArr[regNum][1]) regNum = regNum + 1 #print(32143) res = ArducamSDK.Py_ArduCam_beginCapture(handle) if res == 0: print("transfer task create success!") while not rospy.is_shutdown(): #print(2134124) res = ArducamSDK.Py_ArduCam_capture(handle) #print(res) if res == 0: timestamp = rospy.Time.now() #print(7324627864) res, data = ArducamSDK.Py_ArduCam_read(handle, Width * Height) #print(34242) if res == 0: #print(3746827346782) ArducamSDK.Py_ArduCam_del(handle) #print(374623846278) timestamps.put(timestamp) #print(3742846237846) images.put(data) #print(382746278346782) time.sleep(0.03) else: print("read data fail!") if res != 0: print("capture fail!") break else: print("transfer task create fail!") res = ArducamSDK.Py_ArduCam_close(handle) if res == 0: print("device close success!") else: print("device close fail!") else: print("device open fail!")
def init_and_read_arducam(): global flag, regArr, handle, openFlag regNum = 0 res, handle = ArducamSDK.Py_ArduCam_autoopen(cfg) if res == 0: openFlag = True print("device open success!") while (regArr[regNum][0] != 0xFFFF): ArducamSDK.Py_ArduCam_writeSensorReg(handle, regArr[regNum][0], regArr[regNum][1]) regNum = regNum + 1 res = ArducamSDK.Py_ArduCam_beginCapture(handle) if res == 0: print("transfer task create success!") while flag: res = ArducamSDK.Py_ArduCam_capture(handle) if res != 0: print("capture failed!") flag = False break time.sleep(0.1) if flag == False: break else: print("transfer task create fail!") time.sleep(2) res = ArducamSDK.Py_ArduCam_close(handle) if res == 0: openFlag = False print("device close success!") else: print("device close fail!") else: print("device open fail!")