工业相机软件开发 影像数据获取流程
2018-03-15 16:05
295 查看
整理一份原始影像数据从传感器获取模拟信号到影像后处理的过程
![](//img-blog.csdn.net/20180315145706772?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3UwMTQ2MTM3NDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
考虑到成本因素,相机多采用单通道CCD/CMOS获取原始影像,后续通过色彩差值恢复为彩色图像,梳理记录一下编程中整体数据从产生到后处理流程以及诸多需注意的步骤
1. 相机部分
通过硬件指令设置好相机的相关参数之后, 开启相机,相机从CCD/CMOS获取到模拟信号,经模数转换之后,可以得到原始的数字信号,这时考虑到原始数据的大小以及传输带宽需要决定是否需要进行相机内部的预处理,这部分由使用的相机功能决定,在选择合适的相机时需要考虑。若可进行预处理进行数据的有损压缩,可大幅度降低传输数据量。
原始数据的大小以8bitRAW格式图像数据为例,一张1920*1080的影像需要 1920*1080/1024/1024=1.97M, 60FPS的视频数据每秒获取的数据量为 1.97*60=118.65 M/s。
GigE接口带宽 100Mbps =12.5 M/s
1394a接口带宽 400Mbps = 50 M/s
1394b接口带宽 800Mbps = 100 M/s
USB3.0接口带宽 5Gbps= 640 M/s
以上接口带宽皆为理论数据。
解决完数据量的问题之后相机部分获取的原始影像数据可以成功传输至PC端。
2. 计算机部分
控制相机参数及相机预处理部分一般可以通过与厂商提供的API在PC端进行调整。在PC端获取原始数据之后,如果是通过滤光片方式获取到的bayer format的原始数据,在debayer之后就可以通过单通道的原始影像数据获取彩色影像数据,这一步在OpenCV中可以通过cvtColor(bayer, bayer2rgb, CV_BayerRG2RGB) 进行转换,得到RGB三通道影像数据之后便可进行post-processing
Bayer颜色转换及处理算法,不同厂商采用的滤光片方式可能会有所差异,以具体相机为准,原理可参考 http://www.siliconimaging.com/Specifications/AN3%20-%20Bayer%20Color%20Processing.PDF
本文关注点在于原始影像数据的获取流程及部分SDK开发思路梳理,具体工业相机工作原理例如接口介绍,单通道恢复彩色图像算法等可参考博文 http://blog.csdn.net/x454045816/article/details/54601920
考虑到成本因素,相机多采用单通道CCD/CMOS获取原始影像,后续通过色彩差值恢复为彩色图像,梳理记录一下编程中整体数据从产生到后处理流程以及诸多需注意的步骤
1. 相机部分
通过硬件指令设置好相机的相关参数之后, 开启相机,相机从CCD/CMOS获取到模拟信号,经模数转换之后,可以得到原始的数字信号,这时考虑到原始数据的大小以及传输带宽需要决定是否需要进行相机内部的预处理,这部分由使用的相机功能决定,在选择合适的相机时需要考虑。若可进行预处理进行数据的有损压缩,可大幅度降低传输数据量。
原始数据的大小以8bitRAW格式图像数据为例,一张1920*1080的影像需要 1920*1080/1024/1024=1.97M, 60FPS的视频数据每秒获取的数据量为 1.97*60=118.65 M/s。
GigE接口带宽 100Mbps =12.5 M/s
1394a接口带宽 400Mbps = 50 M/s
1394b接口带宽 800Mbps = 100 M/s
USB3.0接口带宽 5Gbps= 640 M/s
以上接口带宽皆为理论数据。
解决完数据量的问题之后相机部分获取的原始影像数据可以成功传输至PC端。
2. 计算机部分
控制相机参数及相机预处理部分一般可以通过与厂商提供的API在PC端进行调整。在PC端获取原始数据之后,如果是通过滤光片方式获取到的bayer format的原始数据,在debayer之后就可以通过单通道的原始影像数据获取彩色影像数据,这一步在OpenCV中可以通过cvtColor(bayer, bayer2rgb, CV_BayerRG2RGB) 进行转换,得到RGB三通道影像数据之后便可进行post-processing
Bayer颜色转换及处理算法,不同厂商采用的滤光片方式可能会有所差异,以具体相机为准,原理可参考 http://www.siliconimaging.com/Specifications/AN3%20-%20Bayer%20Color%20Processing.PDF
本文关注点在于原始影像数据的获取流程及部分SDK开发思路梳理,具体工业相机工作原理例如接口介绍,单通道恢复彩色图像算法等可参考博文 http://blog.csdn.net/x454045816/article/details/54601920
相关文章推荐
- 京东价格监控软件开发技术探讨二:通过HttpWebRequest获取指定网页数据
- 关于开发开源软件的授权 及获取数据的分析
- Qt实战之开发软件数据获取助手
- 京东价格监控软件开发技术探讨八:如何获取京东商品分类数据
- Qt实战之开发软件数据获取助手(eventFilter处理鼠标按下,event处理鼠标松开)
- 一般软件开发流程和一般软件的測试原则
- 软件开发流程
- 嵌入式软件开发下的数据积累
- 基于Scriptcase的数据审核和流程审核(配置及开发)
- Android实战开发租赁管理软件(适配UI,数据的存储,多线程下载)课程分享
- 通过软件 自动获取 其他公司移动端app 数据接口
- 软件系统开发中的数据交换协议
- 谈谈我对软件开发 可行性分析 等9个流程的理解[上]
- zz:用MSBuild.... DailyBuild和软件开发流程的东东
- 软件开发流程
- 常见名称解析_ 软件开发、应用相关 数据分析相关
- struts2开发流程及配置,域对象对数据存储的3种方式
- 微信企业号开发:获取数据权限错误如何处理
- 软件开发中团队协作与开发流程
- 让你提前认识软件开发(37):研发流程初探