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

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

https://item.taobao.com/item.htm?spm=a1z10.1-c.w7874616-7250487742.3.45ee61bbSIGhsG&id=35665919843

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

https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-12792600741.30.45ee61bb6b1V1X&id=551842092602

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

https://item.taobao.com/item.htm?spm=a230r.1.14.16.76bf523Q04ZVR&id=520267199036&ns=1&abbucket=15#detail

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

对于具体型号的工业相机,一般需要安装相机提供的驱动,比如我这个就把相机连接到电脑的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的这么一个小块,就可以每次只提取大图像的一小块做处理,可以显著的提升效率

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

我的优酷空间:

http://i.youku.com/acetaohai123

我的在线论坛:

http://csrobot.gz01.bdysite.com/

问题交流:

QQ:910358960

邮箱:acetaohai123@163.com

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

C#应用视频教程3.1 USB工业相机测试相关推荐

  1. 《安富莱嵌入式周报》第298期:迷你火星探测器,开源单片机3D实时渲染库, 开源USB工业相机,VS2022开始支持MarkDown,PC-lint 2.0发布

    往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - P ...

  2. 视频教程-Kali Linux 网络安全渗透测试-渗透测试

    Kali Linux 网络安全渗透测试 8年工作经验,精通C#,php,python编程语言. 张添翔 ¥179.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP ...

  3. 小米usb测试软件,你还在用USB传文件?小米10系列USB详细测试——《小米10十大槽点》番外 图文版...

    你还在用USB传文件?小米10系列USB详细测试--<小米10十大槽点>番外 图文版 2020-06-13 22:03:29 1点赞 1收藏 0评论 创作立场声明:给大家科普一下传文件的技 ...

  4. USB摄像头测试网址

    https://assistant.ceping.com/qrcode?type=1 USB摄像头测试网址

  5. r6400 usb android,网件R6400路由器USB接口速率测试与总结

    网件R6400路由器USB接口速率测试 测试中使用的是浦科特M6V 256GB固态硬盘搭配USB 3.0硬盘盒进行测试,此外由于无线网络速率有一定的波动,对最终测试成绩测试成绩有较大的影响,因此我们使 ...

  6. 魔客仕高清HDMI摄像头USB工业相机

    1 魔客仕USB3.0摄像头1600万高清工业相机直播摄像机产品检测4K分辨率电脑条码扫描网络教学 8-50MM长焦变焦 魔客仕USB3.0摄像头1600万高清工业相机直播摄像机产品检测4K分辨率电脑 ...

  7. linux查看usb硬件_使用USB记忆棒测试Linux硬件兼容性

    linux查看usb硬件 像其他所有人一样,我们中使用Linux的人有时需要购买新计算机. 尽管硬件兼容性差的日子早已过去,但仍然有可能遇到问题. 仅仅去本地商店,例如Rale​​igh的Intrex ...

  8. 视频教程-桫哥-GOlang-08程序测试-Go语言

    桫哥-GOlang-08程序测试 多年互联网从业经验: 有丰富的的企业网站.手游.APP开发经验: 曾担任上海益盟软件技术股份有限公司项目经理及产品经理: 参与项目有益盟私募工厂.睿妙影音家庭物联网设 ...

  9. V4L2获取usb视频流测试代码

    Video4Linux2(Video for Linux Two, 简称V4L2)是Linux中关于视频设备的驱动框架,为上层访问底层的视频设备提供统一接口.V4L2主要支持三类设备:视频输入输出设备 ...

最新文章

  1. 为了测试Writer的发图功能,也为了让girls现身。
  2. 用什么方法才能测量出无线发射模块的功率呢?
  3. Payment Spring Boot 1.0.2.RELEASE 发布,接入微信支付分、先享卡功能
  4. 点击页面空白处就关闭某个层是怎么做到的
  5. 微信公众号支付安卓和WP支付成功,苹果不能支付!
  6. python中的框架、库、包、模块都是什么意思_Python中的import,from...import以及模块、包、库的概念...
  7. java 汉字 正则_java正则表达式验证汉字
  8. 第一章 Android Framework 基础认知
  9. addEventListener和attachEvent的区别(转载)
  10. Discuz代码分析:getgpc($k, $t='GP')获取超全局数组值
  11. iphone计算机同样答案,学会这4招,iPhone搭配Windows电脑一样好用
  12. 《动手学深度学习》组队学习打卡Task5——卷积神经网络进阶
  13. 邮箱客户端 gmail支持_如何在新的Gmail中启用离线支持
  14. centos7上先要关闭httpd服务之后再卸载,反正卸载之后就是安装不上一脸懵逼
  15. 2019领克车展 Max Co币机诞生记
  16. WIN32,GetBitmapBits与GetPixel
  17. 中文期刊模板的页面格式,以《电力系统自动化》为例
  18. 2020-12-04使用retrofit上传下载文件,监听下载进度
  19. 在 SCA Module 中使用 Hibernate 框架实现数据持久层
  20. Java中文乱码特殊字符解决方案

热门文章

  1. 分享到facebook链接原格式_神马?!你还不知道Facebook广告怎么操作?
  2. 应用系统怎么开启审计功能_vivo开启Android新版本系统公测,功能丰富令人惊喜...
  3. Hdu 3062. Party
  4. JZOJ 3769. 【NOI2015模拟8.14】A+B
  5. 如何发表高水平论文(转载)
  6. BZOJ-2659-算不出的算式
  7. SSL 2311-车厢调度[栈]
  8. BZOJ 4734 UOJ #269 [清华集训2016]如何优雅地求和 (多项式)
  9. 性能测试方案_MeterSphere案例分享丨基于JMeter的性能测试方案演进之路
  10. 四位共阳极数码管显示函数_【项目8-任务10-小组13】利用四位数码管实现动态扫描显示...