博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#应用视频教程3.1 USB工业相机测试
阅读量:5274 次
发布时间:2019-06-14

本文共 1990 字,大约阅读时间需要 6 分钟。

图像处理是工控很有价值的一个领域,比如人脸识别,车牌识别,还有产品的位置识别,瑕疵检测,对于个人学习来说,我们无法直接上手几万块的成熟工业相机(高端的康耐视要6万左右,而且是黑白的,要测试一些带颜色的算法功能无法实现),先要用便宜的东西做一些简单的测试(原则上做教程不应该涉及硬件,因为如果读者无法按照你的硬件标准学习,那也只能走马观花看一遍,但是实际上要做工控必须要涉及硬件,可以先从简单的便宜的开始入手)

 

淘宝是比较靠谱的方案,我自己测试买的是下面这个品牌的(不是要给他们做广告,读者也可以自己淘宝找,基本上300万像素+开发的SDK肯定是够用了,如果你几百块也不愿意掏,笔记本自带的USB摄像头也是可以用的)

 

注意买相机也要买镜头(单相机是不能用的,买什么样的适配镜头可以问卖家,讲清楚你要做什么应用)

 

如果可能最好再加一个支架和光源(我个人的测试环境有支架,所以不需要,仅仅是测试使用光源也无所谓,我手动调节镜头的曝光就行了)

 

我刚开始玩这个的时候很穷,所以只能随便找了块板子打个孔,然后就开始测试了(没有人条件很充分的,几年以后我再回过头来把这一块东西理理顺,也只是为了培训带人)

 

对于具体型号的工业相机,一般需要安装相机提供的驱动,比如我这个就把相机连接到电脑的USB口,手动安装驱动

 

用微软自带的视频设备能够打开(假定就拍摄显示器的画面)

 

用它自带的调试软件测试能够正常使用(可以调整分辨率)

 

可以进行详细的参数设置(拍照,视频,曝光等)

 

运行软件提供的SDK测试(注意需要把对应的DLL放到C:/Windows/System32/目录下,如果是32位系统则复制SDK的那个DLL文件,如果是64为则复制SDK64的那个DLL文件)

 

运行C#的范例程序(点击Play可以显示实时的画面),如果不能运行修改目标平台为对应的系统版本(我是64位系统)

 

有了C#的范例,基本上我们能够把硬件采集图像的这一块内容搞定了,大量的比如调节曝光,图像翻转,设置分辨率等等功能我们都可以直接照抄范例代码的,注意这部分不管怎么弄目的都是获取我们期望的图像而已,一般越清晰越好(我们后面要介绍的是图像处理,所以本节并不是重点,事实上你从工业相机采集图像也是采集,从USB的摄像头也是,或者没有摄像头直接用图片也可以,你自己PS几个图片也能测试视觉系统的算法)

 

注意他这个范例代码有一块使用了指针直接覆盖采集到图像的数据(比如把某一块的像素填充为红色),不要觉得是相机坏掉了,它上面还有一部分注释掉的代码可以测试其他功能

 

除了C#的开发范例,他也提供了C++,QT等其他语言的实现范例和SDK的说明书(我们看一个产品做的是否到位,就只要看他给的资料全不全,因为目前用C#测试以后也可能换成别的语言,所以选择一款产品就要考虑到后期的平台移植,尽量用好一样东西,不要这也会那也玩过,结果一样都不精通。当然我还是那句话,我不是给这个商家在做广告,只是告诉读者一些工控的经验和教训,有时候并不能仅仅判断便宜一两百块钱就轻易下结论买哪家的,如果我们考虑工业使用,肯定不是是USB的,而是几千块的以太网通讯的相机,在那个价位的产品上挑一个好一点的)

 

最后介绍几个相机的常用概念:

Gama:伽玛值。可以认为是一种控制图像清晰度的一个参数,Gamma值越大,则取得的图像像素越精细,成像越逼真

 

Contrast:对比度,这个很好理解,以前看黑白电视机的时候经常用到,对比度调大一点,物体与周围的对比会更明显一点

 

Exposure:曝光度,感觉跟Gain用处差不多,可以认为是Gain的微调吧,我把Exposure从1040调到5000也没有关系,可见他是可以微调亮度的。Exposure在调小的时候就很敏感,太小了就直接乌黑一片,当然正常不会去乌黑一片的。

 

Gain:在相机里Gain表示高光度,Gain limit 是感光度的范围,数码相机的影像传感器是不可更换的,为了得到不同的感光度,它需要在信号的A/D转换时变换信号增益(Gain)。如果光线暗,就需要提高感光度即加大增益,这会降低信噪比,也就是增大了噪点。从下面三个不同的高光度可以发现,就像高光度越大,则越亮。Gain的用处就是在黑暗的时候要手动把高光度调大一点,成像才能清晰。

 

ROI:就是感兴趣窗口(Region of interest),比如一副2048*1536的图像非常大,处理起来很慢,我们设置感兴趣窗口只有200*200的这么一个小块,就可以每次只提取大图像的一小块做处理,可以显著的提升效率

 

 

更多教学视频和资料下载,欢迎关注以下信息:

我的优酷空间:

 

我的在线论坛:

 

问题交流:

QQ:910358960

邮箱:

 

 

转载于:https://www.cnblogs.com/acetaohai123/p/7586767.html

你可能感兴趣的文章
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
hdu 3938 并查集
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>