跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码
第一步:插入QQ摄像头,安装好驱动(有的可能免驱动)
第二步:打开HDevelop,点击助手—打开新的Image Acquisition—选中图像获取接口(I),然后点击检测,找到摄像头。如下图:
第三步:点击连接,将颜色空间设置为gray,然后点击实时,此时图像窗口中将显示采集到的图像,将物体放置到摄像头前,位置调至条码清晰。如下图:
集,点击插入代码,此时程序编辑器中将自动生成代码,如下图:
这时单击下运行按钮,将会采集一副图像并显示到图形窗口中。接下来我们将开始条码读取的工作。
第五步:在Do Something后插入如下代码:
create_bar_code_model ([ ], [ ], BarCodeHandle)
*由于不知道条码是何类型,因此条码类型设置为auto。CodeTypes := ['auto']
find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeTypes, DecodedDataStrings)
get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', DecodedDataTypes)
这时再重新运行程序,只要图像清晰,此时就可以读到条码了。条码区域会变成红色,而且在变量窗口中可以查到读取的条码类型和内容。如下图:
第六步:我们再添加代码,将读取结果直接显示在图像窗口中。
disp_message (WindowHandle, DecodedDataTypes[0]+': '+DecodedDataStrings[0], 'image', 100, 160, 'forest green', 'true')
此时会提示错误WindowHandle未被初始化。
*获取更多课程请Q智达工控学院:1613985351
因为图像采集助手会自动打开一个窗口,因此我们先将它关闭,然后自己创建一个窗口。在程序最开始加上这两句代码:
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
再重新运行程序,此时在读取到的条码在图像中写出来了。如下图:
第七步:由于办公室光照环境不是很好,摄像头质量也不是很高,所以很多情况下如果图像稍微有点模糊就会发生无法读取条码或者读取错误的情况发生。
对策:对采集到的图像进行增强处理。
在图像采集函数后增加如下代码:
emphasize (Image, Image, 2*2+1, 2*2+1, 1)
再重新运行程序,可以发现大功告成,可以稳定的读取条码了。