管件上面的二维码,这个是用手机在车间灯光线拍着的,没有视觉光源,所以干扰较多。加了光源处理效果更佳。
处理思路:主要能找到二维码所在区域,便可以定区域查找二维码,很容易识别到。观察发现二维码是点阵的,就可以采用先腐蚀排除干扰,领取大致二维码点阵,在进行膨胀,扩大点阵,在通过特征值面积方法选取区域,再将区域填充成矩形,就锁定了二维码的位置。当然还有很多其他方法,也许比我这个更好,更严谨。抛转引玉,欢迎交流学习。
以下是源码算子
dev_close_window ()
dev_open_window (0, 0, 537, 416, 'black', WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_draw ('fill')
read_image (Image, 'C:/Users/hgtech/Desktop/halcon_sdtudy/二维码.jpg')
*得到灰度图像
rgb1_to_gray(Image, GrayImage)
*灰度直方图选取二维码区域,会包含很多其他不必要区域
threshold (GrayImage, Regions, 59, 109)
*以下是腐蚀膨胀
gen_circle(Circle, 11,8, 4.5)
erosion1(Regions, Circ