该文章是基于NI-VISION的视觉识别,需要安装好对应的扩展,我使用的版本如下:
🥝效果展示
📜注意:在本篇文章和代码中,识别的码型为 QR Code:
🥝代码展示
前面板:
程序框图:
如果需要完整代码的可以在此下载:Labview机器视觉-USB摄像头识别二维码-完整程序
✨也可以三连该文章之后私聊我领取完整代码或者NI-VISION扩展组件!
🥝视频学习地址
二、代码详解该项目的整体代码框图较为简单,但是部分vi函数还是有一些值得注意的地方:
🍍IMAQ ExtractSingleColorPlane VI
✨该vi的作用简单来说就是:提取图像的某一颜色平面。
在展示效果中可以看到视频图像是黑白界面,没有任何彩色出现。这是因为在代码中调用了该函数,它默认提取图像的绿色平面:
关于颜色平面,正如PS中的颜色通道是一个道理,在RGB色彩中有蓝色通道、红色通道和绿色通道:
其次,每个通道都有不一样的效果:
1.红色通道:在此通道下,越白的地方说明图片红色像素越强,越黑的地方说明图片红色像素越弱;
2.绿色通道:越白的地方说明图片绿色像素越强,越黑的地方说明图片绿色像素越弱;
3.蓝色通道:越白的地方说明图片蓝色像素越强,越黑的地方说明图片蓝色像素越弱。
更多关于Photoshop通道原理的介绍参考该文章:Photoshop通道原理
✨ 重点在这 :
在选择任意一个原色通道时,会隐藏其他颜色的通道;在选择任意一个原色通道时,都是黑白色的,没有出现红、绿、蓝三种颜色,那是因为灰度模式更能便于查看当前通道的发光强度,ps默认用灰度模式显示通道。
我们使用该vi函数,就是为了让图像画面呈现出黑白色,这样更利于程序对二维码的识别。
🍍IMAQ Read QR Code VI
QR Code Report QR Code Report
🍍IMAQ Overlay Text VI
✨该vi函数的作用是在目标图像上实时添加(或者覆盖)文字:
因此,我们便可以将二维码的解码数据添加到图像中。
🍍IMAQ Overlay Multiple Lines 2 VI
✨该vi函数的作用是在图像上叠加多条线,如折线或多边形。 我们将获取到的二维码边框输入到该vi中,就可以在图像上显示出二维码的边界框:
注意输入的数据形式: