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 rosShutdown(): global handle rtn_val = ArducamSDK.Py_ArduCam_close(handle) if rtn_val == 0: rospy.loginfo("device close success!") else: rospy.logerr("device close fail!")
def cameramain(self, config_file_name, expconf, child_conn): if self.camera_initFromFile(config_file_name, expconf): ArducamSDK.Py_ArduCam_setMode(self.handle, ArducamSDK.CONTINUOUS_MODE) ct = threading.Thread(target=self.captureImage_thread) rt = threading.Thread(target=self.readImage_thread, args=(child_conn, )) ct.start() rt.start() while True: reload = child_conn.recv() print("reloading configuration file") if reload == False: self.loading = False if reload == 'quit': self.running = False sys.exit() break ct.join() rt.join() rtn_val = ArducamSDK.Py_ArduCam_close(self.handle) if rtn_val == 0: print("device close success!") else: print("device close fail!")
def rosShutdown(): global handle rtn_val = ArducamSDK.Py_ArduCam_close(handle) if rtn_val == 0: print "device close success!" else: print "device close fail!"
def stop(self): self.logger.info("Stopping arducam") self.running = False ArducamSDK.Py_ArduCam_del(self.handle) ArducamSDK.Py_ArduCam_flush(self.handle) ArducamSDK.Py_ArduCam_endCaptureImage(self.handle) ArducamSDK.Py_ArduCam_close(self.handle) self.images.clear() self.logger.info("Arducam stopped")
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!")
if len(sys.argv) > 1: config_file_name = sys.argv[1] if not os.path.exists(config_file_name): print("Config file does not exist.") exit() else: showHelp() exit() if camera_initFromFile(config_file_name): ArducamSDK.Py_ArduCam_setMode(handle, ArducamSDK.CONTINUOUS_MODE) while True: if ArducamSDK.Py_ArduCam_availableImage(handle) > 0: print('hello') rtn_val, data, rtn_cfg = ArducamSDK.Py_ArduCam_readImage( handle) image = convert_image(data, rtn_cfg, color_mode) #pause #ArducamSDK.Py_ArduCam_writeReg_8_8(handle,0x46,3,0x40) rtn_val = ArducamSDK.Py_ArduCam_close(handle) if rtn_val == 0: print("device close success!") else: print("device close fail!") #os.system("pause")
mouse_y = parameters["mouse_y"] draw_x = parameters["draw_x"] draw_y = parameters["draw_y"] print("Loaded parameters - mouse: (%d; %d), draw: (%d; %d)." % (mouse_x, mouse_y, draw_x, draw_y)) result = get_focus() top_right_x = int(mouse_x - rectangle_width / 2) top_right_y = int(mouse_y - rectangle_height / 2) running = False ct.join() ArducamSDK.Py_ArduCam_close(handle) if not result: exit() print("Final parameters - mouse: (%d; %d), draw: (%d; %d)." % (mouse_x, mouse_y, draw_x, draw_y)) time.sleep(1) running = True ret, handle = camera_initFromFile(config_focused) ct = threading.Thread(target=captureImage_thread) rt = threading.Thread(target=readImage_thread)