96SEO 2026-02-20 10:08 0
。

我采用的笔记本是联想拯救者游戏本#xff0c;系统采用Ubuntu20.04#xff0c;ROS采用noetic。
从本文开始我们将开始学习ROS机器视觉处理刚开始先学习一部分外围的知识为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。
我采用的笔记本是联想拯救者游戏本系统采用Ubuntu20.04ROS采用noetic。
1RGB和BGR这是两种常见的颜色编码格式分别代表了红、绿、蓝三原色。
不同之处在于RGB按照红、绿、蓝的顺序存储颜色信息而BGR按照蓝、绿、红的顺序存储。
rgb8图像格式常用于显示系统如电视和计算机屏幕。
RGB值以8
bits表示每种颜色总共可以表示256×256×25616777216种颜色。
例如
bgr8图像格式由一些特定的硬件制造商采用软件方面最著名的就是opencv其默认使用BGR的颜色格式来处理图像。
与RGB不同
在自动驾驶里使用rgb8图像格式的图像一般称为原图是数据量最大的格式没有任何压缩。
22YUV这是另一种颜色编码方法与RGB模型不同的是它将图像信息分解为亮度Y和色度U和V两部分。
这种方式更接近于人类对颜色的感知方式。
YUV颜色编码主要用在电视系统以及视频编解码标准中在这些系统中Y通道信息可以单独使用这样黑白电视机也能接收和显示信号。
而彩色信息则通过U和V两个通道传输只有彩色电视机才能处理。
这样设计兼容了黑白电视和彩色电视。
YUV色彩空间相比RGB色彩空间更加符合人眼对亮度和色彩的敏感度在视频压缩时可以按照人眼的敏感度对YUV数据进行压缩以达到更高的压缩比。
由于历史和技术的原因YUV的标准存在多种例如YUV
4:2:0等这些主要是针对U和V通道的采样方式不同定义的。
采样不同对应的压缩比也不同。
Group是一种常见的用于静态图像的损失性压缩格式它特别适合于全彩色和灰度图片被广泛使用。
通常情况下JPEG可以提供10:1到20:1的有损压缩比根据图像质量自由调整。
GraphicsPNG是一种无损压缩格式主要使用了DEFLATE算法。
由于这是无损压缩所以解压缩图像可以完全恢复原始数据。
被广泛应用于需要高质量图像的场景如网页设计、艺术作品等。
bmpBitmapBMP是Windows系统中常用的一种无压缩的位图图像格式通常会创造出较大的文件。
位图Bitmap是一种常见的计算机图形最小单位是像素每个像素都包含一定量的信息如颜色和亮度等。
位图图像的一个主要特点就是在放大查看时可以看到图像的像素化现象也就是我们常说的马赛克。
BMP、JPEG、GIF、PNG等都是常见的位图格式。
4H264和H265这是两个视频压缩格式也是两种视频编解码标准。
以1280*720的摄像头为例如果是rgb8格式的原图一帧图像的大小是
如果是一小时的视频那将是非常大的数据量对网络传输数据存储都是很大的压力。
而H264通过种种帧间操作可以达到10:1到50:1的压缩比甚至更高。
H265更进一步压缩比更高用来解决4K或8K视频的传输。
基础知识在自动驾驶领域图像数据也使用h264格式主要用于数采和回放控制数据量。
这里截取了部分关键信息下面的usb_cam的launch文件将用到
camera的软件包一般称为ros摄像头驱动但这是一个应用程序其调用v4l2并通过ros
topic发出图像数据。
搞机器视觉第一步就是要有图。
安装并启动usb_cam查看图像
IO通道可选值mmapreaduserptr大数据量信息一般用mmapparam
指定发出的topic名/usb_cam/image_rawremap
/launch3/usb_cam/image_raw的数据结构体
4/usb_cam/image_raw/compressed的数据结构体
/usb_cam/image_raw/compressed内容展示
1Calibration翻译过来就是校准和标定。
2摄像头标定Camera
Calibration是计算机视觉中的一种关键技术其目的是确定摄像头的内部参数Intrinsic
内部参数包括焦距、主点坐标以及镜头畸变等因素。
这些参数与相机本身的硬件有关如镜头和图像传感器等一般由厂家提供。
外部参数摄像头相对于环境的位置和方向。
例如它可能描述了一个固定摄像头相对于周围环境的姿态或者安装位置。
以汽车为例外参包括各个摄像头之间的关系摄像头与radar摄像头与lidar的关系。
3汽车各种传感器的之间的相对位置和朝向用3自由度的旋转矩阵和3自由度的平移向量表示这些外参由整车厂自己标。
一般整车下线之后进入特定的房间使用静态标靶、定位器的等高精度设备完成Camera、radar、Lidar等传感器的标定称之为产线标定也叫做下线标定。
这里我们使用标定常用的标靶图形完成笔记本摄像头的内参标定。
usb_cam可以使用内参标定避免图像畸变。
1安装标定功能包ubuntu20.04noetic
launch/cameta_calibration.launch
使用usb_cam包发出/usb_cam/image_raw图像数据node
/usb_cam/image_raw是监听的图像topicnodepkgcamera_calibrationtypecameracalibrator.pynamecamera_calibrationoutputscreenargs--size
不断晃动直到COMMIT按键亮起然后点击即可生成标定文件本人的路径为/home/mm/.ros/camera_info/head_camera.yaml。
第一步使用cv_bridge将ROS的图像数据转换成OpenCV的图像格式cv_image
cv_bridge.cv2_to_imgmsg(cv_image,
上节的robot_vision包里我们新增一个cv_bridge的小样例主要功能是在捕捉到的图像上打个蓝色的圆标。
使用cv_bridge将ROS的图像数据转换成OpenCV的图像格式try:cv_image
cv_image.shape返回一个元组包含图像的行数高度列数宽度和通道数通常是3个通道BGR(rows,
在计算机图像处理中图像的原点0,0通常定义为图像的左上角。
(60,60)是圆心的坐标。
#
(255,0,0)定义了圆的颜色。
在OpenCV中默认的颜色空间是BGR所以这其实是绘制了一个蓝色的圆。
#
-1表示填充圆。
如果这个值是正数则代表绘制的圆的线宽如果是负数则代表填充该圆。
cv2.circle(cv_image,
使用Opencv的接口显示Opencv格式的图像cv2.imshow(ycao:
image格式的数据发布try:image_pub.publish(cv_bridge.cv2_to_imgmsg(cv_image,
main():rospy.init_node(cv_bridge_test)rospy.loginfo(starting
rospy.Publisher(/cv_bridge_image,
订阅/usb_cam/image_raw然后再回调函数里处理图像并发布出来rospy.Subscriber(/usb_cam/image_raw,
bind_image_cb)rospy.spin()cv2.destroyAllWindows()
valuemmap//nodenodepkgrobot_visiontypecv_bridge_test.pynamecv_bridge_testoutputscreen/nodepkgrqt_image_viewtyperqt_image_viewnamerqt_image_viewoutputscreen/
本文主要系统介绍了机器视觉处理的外围知识引入了opencv和cv_bridge后面几篇文章我们将用它们继续丰富
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback