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

相机--相机标定实操

教程

camera_calibration移动画面示例

usb_cam使用介绍和下载

我使用的是USB相机,所以直接使用ros的usb_cam功能包驱动相机闭关获取实时图像,然后用ros的camera_calibration标定相机。

查询摄像机的信息

v4l2-ctl -d 0 --all的作用

命令详解:

  • v4l2-ctl:这是 V4L2 的命令行控制工具,属于 v4l-utils 软件包。
  • -d 0:指定设备节点 /dev/video0-d 表示 device,后面的数字是设备索引号,例如:
    • /dev/video0 对应索引 0,
    • /dev/video1 对应索引 1,依此类推。
  • --all:显示该设备的所有可用信息,包括:
    • 设备驱动信息
    • 支持的视频格式
    • 当前设置的视频格式
    • 支持的帧率
    • 控制项(如亮度、对比度、饱和度等)
    • 流媒体状态等

我的设备:

v4l2-ctl -d 0 --all
Driver Info:Driver name      : uvcvideoCard type        : SDYH-8P0P: SDYH-8P0PBus info         : usb-xhci-hcd.2.auto-1.1Driver version   : 6.1.83Capabilities     : 0x84a00001Video CaptureMetadata CaptureStreamingExtended Pix FormatDevice CapabilitiesDevice Caps      : 0x04200001Video CaptureStreamingExtended Pix Format
Media Driver Info:Driver name      : uvcvideoModel            : SDYH-8P0P: SDYH-8P0PSerial           : Bus info         : usb-xhci-hcd.2.auto-1.1Media version    : 6.1.83Hardware revision: 0x00000823 (2083)Driver version   : 6.1.83
Interface Info:ID               : 0x03000002Type             : V4L Video
Entity Info:ID               : 0x00000001 (1)Name             : SDYH-8P0P: SDYH-8P0PFunction         : V4L2 I/OFlags            : defaultPad 0x01000007   : 0: SinkLink 0x02000010: from remote pad 0x100000a of entity 'Extension 3' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Input 1: ok)
Format Video Capture:Width/Height      : 1920/1080Pixel Format      : 'MJPG' (Motion-JPEG)Field             : NoneBytes per Line    : 0Size Image        : 4147200Colorspace        : sRGBTransfer Function : Rec. 709YCbCr/HSV Encoding: ITU-R 601Quantization      : Default (maps to Full Range)Flags

 Driver Info(驱动信息)

Driver Info:Driver name      : uvcvideoCard type        : SDYH-8P0P: SDYH-8P0PBus info         : usb-xhci-hcd.2.auto-1.1Driver version   : 6.1.83Capabilities     : 0x84a00001Video CaptureMetadata CaptureStreamingExtended Pix FormatDevice CapabilitiesDevice Caps      : 0x04200001Video CaptureStreamingExtended Pix Format
  • Driver name:使用的内核驱动名称,这里是 uvcvideo,表示这是一个支持 USB Video Class (UVC) 的设备。
  • Card type:设备型号,这里是摄像头的名字:SDYH-8P0P
  • Bus info:设备连接的总线位置,这里是通过 USB 接口连接的。
  • Driver version:驱动程序版本号,这里是 Linux 内核版本 6.1.83。
  • Capabilities:设备能力位掩码,表示该设备支持的功能:
    • Video Capture:可以捕获视频流。
    • Metadata Capture:支持元数据(如时间戳等)。
    • Streaming:支持流式传输。
    • Extended Pix Format:支持扩展像素格式。
    • Device Capabilities:支持查询设备能力。
  • Device Caps:设备接口的能力,比 Capabilities 更细粒度,这里与上面类似。

 Media Driver Info(媒体驱动信息)

Media Driver Info:Driver name      : uvcvideoModel            : SDYH-8P0P: SDYH-8P0PSerial           : Bus info         : usb-xhci-hcd.2.auto-1.1Media version    : 6.1.83Hardware revision: 0x00000823 (2083)Driver version   : 6.1.83
  • Model:设备型号,同上。
  • Serial:序列号,这里为空,表示未提供。
  • Media version:媒体框架的版本号。
  • Hardware revision:硬件版本号(十六进制),可用于识别不同批次硬件。
  • Driver version:驱动版本号

 Interface Info(接口信息)

Interface Info:ID               : 0x03000002Type             : V4L Video
  • ID:接口唯一标识符。
  • Type:接口类型,这里是标准的 V4L2 视频接口

 Entity Info(实体信息)

Entity Info:ID               : 0x00000001 (1)Name             : SDYH-8P0P: SDYH-8P0PFunction         : V4L2 I/OFlags            : defaultPad 0x01000007   : 0: SinkLink 0x02000010: from remote pad 0x100000a of entity 'Extension 3' (Video Pixel Formatter): Data, Enabled, Immutable
  • Entity:是 Media Framework 中的一个概念,代表一个功能模块(比如传感器、编码器等)。
  • Function:这个实体的功能是作为 V4L2 输入/输出设备。
  • Pad:表示实体的输入/输出端口。Sink 表示这是输入端口。
  • Link:表示与其他实体之间的连接关系,这里是来自另一个实体“Extension 3”的输出端口的数据链路,且为启用状态。

Format Video Capture(当前视频采集格式)

这是重点

Format Video Capture:Width/Height      : 1920/1080Pixel Format      : 'MJPG' (Motion-JPEG)Field             : NoneBytes per Line    : 0Size Image        : 4147200Colorspace        : sRGBTransfer Function : Rec. 709YCbCr/HSV Encoding: ITU-R 601Quantization      : Default (maps to Full Range)Flags
  • Width/Height:当前设置的图像分辨率,这里是 1920×1080。
  • Pixel Format:当前像素格式为 'MJPG',即 Motion JPEG,这是一种压缩格式,常用于摄像头以减少带宽需求。
  • Field:场模式,None 表示非隔行扫描(逐行扫描)。
  • Bytes per Line:每行字节数,对于 MJPG 格式通常为 0,因为它是压缩格式。
  • Size Image:一帧图像的大小(字节),这里是 1920×1080×(压缩后平均约 2B) ≈ 4MB。
  • Colorspace:色彩空间,这里是 sRGB
  • Transfer Function:传输函数,这里是 Rec. 709(标准伽马曲线)。
  • YCbCr Encoding:色度编码方式,这里是 ITU-R BT.601(适用于标清视频)。
  • Quantization:量化方式,Default (Full Range) 表示亮度值范围为 0~255(而不是 16~235 的 TV 范围)。
  • Flags:格式标志,目前为空。

查看相机支持的像素格式

v4l2-ctl -d 0 --list-formats

问题

swscaler @ 0xaaaaf438c7e0] No accelerated colorspace conversion found from yuv422p to rgb24.

硬件加速不可用:你的系统可能缺少必要的硬件加速支持或驱动程序,无法提供从 YUV 到 RGB 的快速转换。

意味着 FFmpeg 在尝试将 YUV422P 格式的图像转换为 RGB24 格式时,没有找到任何硬件加速的方法来进行这个颜色空间转换。因此,它只能使用软件方式来完成这一任务,这通常会导致更高的 CPU 使用率,而且音频话题发送频率慢。

YUV 到 RGB 转换的需求:当你使用 usb_cam 节点以原始像素格式(如 YUYV 或 YUV422P)读取摄像头数据时,ROS 需要将其转换为更常用的 RGB 格式以便进一步处理。如果没有硬件加速选项可用,这个转换过程将由 CPU 执行。

FFmpeg:

这是一个命令行工具,用于格式转换、裁剪、合并、缩放等操作。它可以将音频和视频数据从一种格式转换为另一种,并且支持大量的编解码器和文件格式。

本质上就是具有音频存储和发送格式转换一套代码。

http://www.xdnf.cn/news/861211.html

相关文章:

  • zookeeper 学习
  • Linux-文件管理及归档压缩
  • 【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
  • oracle rac
  • Android源码:2、如何下载源码详解(二)(支持移动硬盘、mac)—亲测成功
  • 存储器的分类
  • 使用AI绘画工具,1分钟生成动漫头像
  • red hat linux系统下载安装
  • Linux 平均负载 Load Average 详解
  • 小白必看---浅谈国外广告联盟和返利网的区别
  • C++ 类成员函数指针
  • 操作系统3.2:连续型分配之动态分区、内存回收
  • 【Opencv】cv::rectangle、cv::getTextSize、cv::putText、cv::Rect函数详解和示例
  • Linux培训班多少钱?推荐6大Linux云计算运维培训机构名单
  • 13 万字 C 语言从入门到精通保姆级教程2021 年版
  • Windows核心编程学习笔记(20)--同步设备I/O与异步设备I/O1
  • 以数据安全为核心的安全立体防御体系解决方案
  • 摄氏度和开氏度的换算_摄氏度与开氏度换算(开氏度和摄氏度的换算公式)
  • 红客是什么呢?零基础如何成为红客!
  • 八数码难题的多种解法
  • Arduino as ISP 下载器烧录BootLoader的细节详解
  • 聚类分析
  • sql server2008的安装包和密钥
  • 我的软考经验分享
  • 创业者不得不去的10个网站!
  • activate-power-mode安装与设置(去掉activate-power-mode右上角图标)
  • 苹果手机下载不了软件怎么办?6个解决方案等你来
  • aptana手动配置python环境_关于使用Aptana+Pydev构建Python开发环境(Django)
  • 运维工作内容
  • 分销系统搭建流程详解,教你搭建SaaS分销系统!