当前位置: 首页 > news >正文

青岛vps网站网站建设教程突

青岛vps网站,网站建设教程突,比较好看的wordpress主题,网站策划案例OAK相机#xff1a;自动或手动设置相机参数 硬件软件 硬件 使用硬件如下#xff1a; 4✖️ov9782相机OAK-FFC-4P驱动板 硬件接线参考博主的一篇博客#xff1a;OAK相机#xff1a;多相机硬件同步拍摄 软件 博主使用的是Ubuntu18.04系统#xff0c;首先配置所需的pytho… OAK相机自动或手动设置相机参数 硬件软件 硬件 使用硬件如下 4✖️ov9782相机OAK-FFC-4P驱动板 硬件接线参考博主的一篇博客OAK相机多相机硬件同步拍摄 软件 博主使用的是Ubuntu18.04系统首先配置所需的python环境 1、下载SDK软件包 git clone https://gitee.com/oakchina/depthai.git2、安装依赖 python3 -m pip install -r depthai/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple3、注意在Linux平台并且第一次使用OAK需要配置udev规则 echo SUBSYSTEMusb, ATTRS{idVendor}03e7, MODE0666 | sudo tee /etc/udev/rules.d/80-movidius.rules sudo udevadm control --reload-rules sudo udevadm trigger相关python API可参考官方文档https://docs.luxonis.com/projects/api/en/latest/references/python/# 在此博主提供一个示例四个相机通过硬件触发同步使用ROS发布图像消息并可以自动或手动设置相机参数更多设置可参考官方文档的API加以修改完整程序如下 # -*- coding: utf-8 -*- #!/usr/bin/env python3 import depthai as dai import yaml import cv2 assert cv2.__version__[0] 4, The fisheye module requires opencv version 3.0.0 import numpy as np import globNAME_LIST [cama, camb, camc, camd]FPS 20 AUTOSET Truedef clamp(num, v0, v1):return max(v0, min(num, v1))class CameraArray:def __init__(self,fps20):self.FPS fpsself.RESOLUTION dai.ColorCameraProperties.SensorResolution.THE_800_Pself.cam_list [cam_a, cam_b, cam_c, cam_d]self.cam_socket_opts {cam_a: dai.CameraBoardSocket.CAM_A,cam_b: dai.CameraBoardSocket.CAM_B,cam_c: dai.CameraBoardSocket.CAM_C,cam_d: dai.CameraBoardSocket.CAM_D,}self.pipeline dai.Pipeline()self.cam {}self.xout {}# colorself.controlIn self.pipeline.create(dai.node.XLinkIn)self.controlIn.setStreamName(control)for camera_name in self.cam_list:self.cam[camera_name] self.pipeline.createColorCamera()self.cam[camera_name].setResolution(self.RESOLUTION)if camera_name cam_a: # ref triggerself.cam[camera_name].initialControl.setFrameSyncMode(dai.CameraControl.FrameSyncMode.OUTPUT)else: # other triggerself.cam[camera_name].initialControl.setFrameSyncMode(dai.CameraControl.FrameSyncMode.INPUT)self.cam[camera_name].setBoardSocket(self.cam_socket_opts[camera_name])self.xout[camera_name] self.pipeline.createXLinkOut()self.xout[camera_name].setStreamName(camera_name)self.cam[camera_name].isp.link(self.xout[camera_name].input)self.cam[camera_name].setFps(self.FPS)self.config dai.Device.Config()self.config.board.gpio[6] dai.BoardConfig.GPIO(dai.BoardConfig.GPIO.OUTPUT, dai.BoardConfig.GPIO.Level.HIGH)self.device dai.Device(self.config)def start(self):self.device.startPipeline(self.pipeline)self.output_queue_dict {}for camera_name in self.cam_list:self.output_queue_dict[camera_name] self.device.getOutputQueue(namecamera_name, maxSize1, blockingFalse)def read_data(self):output_img {}output_ts {}for camera_name in self.cam_list:output_data self.output_queue_dict[camera_name].tryGet()if output_data is not None:timestamp output_data.getTimestampDevice()img output_data.getCvFrame()# img cv2.rotate(img, cv2.ROTATE_180)output_img[camera_name] imgoutput_ts[camera_name] timestamp.total_seconds()# print(camera_name, timestamp, timestamp.microseconds, img.shape)else:# print(camera_name, No ouput)output_img[camera_name] Noneoutput_ts[camera_name] Nonereturn output_img, output_tsif __name__ __main__:import rospyfrom sensor_msgs.msg import Imagefrom std_msgs.msg import Headerclass CvBridge():def __init__(self):self.numpy_type_to_cvtype {uint8: 8U, int8: 8S, uint16: 16U,int16: 16S, int32: 32S, float32: 32F,float64: 64F}self.numpy_type_to_cvtype.update(dict((v, k) for (k, v) in self.numpy_type_to_cvtype.items()))def dtype_with_channels_to_cvtype2(self, dtype, n_channels):return %sC%d % (self.numpy_type_to_cvtype[dtype.name], n_channels)def cv2_to_imgmsg(self, cvim, encoding passthrough):img_msg Image()img_msg.height cvim.shape[0]img_msg.width cvim.shape[1]if len(cvim.shape) 3:cv_type self.dtype_with_channels_to_cvtype2(cvim.dtype, 1)else:cv_type self.dtype_with_channels_to_cvtype2(cvim.dtype, cvim.shape[2])if encoding passthrough:img_msg.encoding cv_typeelse:img_msg.encoding encodingif cvim.dtype.byteorder :img_msg.is_bigendian Trueimg_msg.data cvim.tobytes()img_msg.step len(img_msg.data) // img_msg.heightreturn img_msgbridge CvBridge()img_pub_dict {}rospy.init_node(camera_array, anonymousTrue)rate rospy.Rate(20)for camera_name in [cam_a, cam_b, cam_c, cam_d]:img_pub_dict[camera_name] rospy.Publisher(/img/str(camera_name), Image, queue_size0)img_cnt_dict {cam_a:0, cam_b:0, cam_c:0, cam_d:0}camera_array CameraArray(FPS)camera_array.start()controlQueue camera_array.device.getInputQueue(camera_array.controlIn.getStreamName())if AUTOSET:ctrl dai.CameraControl()ctrl.setAutoExposureEnable()ctrl.setAutoWhiteBalanceMode(dai.CameraControl.AutoWhiteBalanceMode.AUTO)controlQueue.send(ctrl)else:# Defaults and limits for manual focus/exposure controlsexpTime 10000expMin 1expMax 33000sensIso 100sensMin 100sensMax 1600wbManual 3500expTime clamp(expTime, expMin, expMax)sensIso clamp(sensIso, sensMin, sensMax)print(Setting manual exposure, time:, expTime, iso:, sensIso)ctrl dai.CameraControl()ctrl.setManualExposure(expTime, sensIso)ctrl.setManualWhiteBalance(wbManual)controlQueue.send(ctrl)first_time_cam Nonefirst_time_local Nonewhile not rospy.is_shutdown():output_img, output_ts camera_array.read_data()if first_time_cam is None and output_ts[cam_a] is not None:first_time_cam output_ts[cam_a]first_time_local rospy.Time.now().to_sec()for key in output_img.keys():if output_img[key] is None:continueframe output_img[key]# convertimg bridge.cv2_to_imgmsg(undistorted_img, encodingbgr8)img.header Header()if first_time_cam is not None:ts output_ts[key] - first_time_cam first_time_localimg.header.stamp rospy.Time.from_sec(ts)else:img.header.stamp rospy.Time.now()img_pub_dict[key].publish(img)rate.sleep()将程序拷贝到本地运行程序python camera.py输入rostopic list查看话题名打开Rviz查看图像输出。
http://www.hkea.cn/news/14391158/

相关文章:

  • 鞍山外国网站制作公司网站设计基础任务书
  • 网站开发部门结构郑州建网站的公司
  • wordpress 判断首页网站seo策划方案
  • 深圳 赢客创想网络技术股份有限公司 网站建设提高网站关键词排名
  • 大宇网络做网站怎么样慧聪网首页
  • 网站管理建设总结linux软件开发
  • 厦门百度整站优化服务青岛网站建设系统
  • 网站内容建设和运营工作写网站论文怎么做
  • 谷歌英文网站优化邢台网站制作哪里做
  • 青岛外贸网站建设费用坪地网站建设效果
  • 互联网企业信息服务平台aso应用优化
  • 购物网站开发价格俄文网站建设 俄文网站设计
  • 邯郸住房及城乡建设部网站大学专业分类目录
  • 川制作官方网站自己做网站如何放置在服务器中
  • 代理龙华网站建设南京做网站的有哪些
  • 青岛网站推广招商外贸wap网站
  • 网站彩票做号宿迁企业网站设计
  • 做互联网网站待遇山西网站开发建设
  • 永久一级传奇网站江苏省建设工程一站式申报网站
  • wamp在网站建设中的功能及协作关系网上怎么推销自己的产品
  • 仿韩国网站源码义乌网站制作公司
  • 淄博专业网站建设公司建设企业网站需要了解什么
  • 金牛区网站建设深圳手机网站公司
  • 长春网站公司有哪些内容六安建设机械网站
  • 用ps做网站首页宿州做网站的公司有哪些
  • 克拉玛依住房和建设局网站wordpress主题 her
  • flash网站项目背景做网站哪个比较好
  • 宁波网站推广渠道打开百度地图导航
  • 书法网站开发的前景自己开公司需要什么条件
  • 重庆市工程建设信息网官方网站西安vi设计公司