Halcon转OpenCV实例 | 您所在的位置:网站首页 › 消除签字笔迹的方法 › Halcon转OpenCV实例 |
导读 本文主要介绍一个去除纸张中颜色笔迹/墨迹的实例,并将Halcon实现转为OpenCV。 实例来源实例来源于51Halcon论坛的讨论贴: https://www.51halcon.com/forum.php?mod=viewthread&tid=4766 Halcon实现参考回帖内容,将代码整理如下: read_image (Image, './test.jpg')get_image_size (Image, Width, Height)decompose3 (Image, ImageR, ImageG, ImageB)trans_from_rgb (ImageR, ImageG, ImageB, ImageY, ImageI, ImageQ, 'yiq')threshold (ImageQ, Regions, 132, 255) dilation_rectangle1 (Regions, RegionDilation, 25, 15)inpainting_texture (Image, RegionDilation, InpaintedImage, 5, 20, 0, 'none', 0)如上图所示,可以较好的去除图中红色和蓝色的笔迹。 OpenCV实现分析实现方法与思路: [1] 将原图从BGR颜色空间转为YIQ颜色空间; [2] 分离Q通道图像对其做二值化处理; [3] 矩形核做膨胀操作,将笔迹区域连接 [4] 将膨胀后的图像作为mask,传给inpaint函数,通过图像修复来去除笔迹。 实现代码(Python-OpenCV): #公众号:OpenCV与Halcon视觉import cv2import numpy as np img = cv2.imread('test.jpg')cv2.imshow('src',img) img_q = np.zeros((img.shape[0],img.shape[1],1),np.float32) for i in range(0,img.shape[0]): for j in range(0,img.shape[1]): B = img[i,j,0] G = img[i,j,1] R = img[i,j,2] img_q[i,j] = 0.214*R - 0.522*G + 0.309*B cv2.normalize(img_q, img_q, 0, 255, cv2.NORM_MINMAX, -1) imgQ = cv2.convertScaleAbs(img_q)cv2.imshow('imgQ',imgQ) ret, thresImg= cv2.threshold(imgQ, 165, 255, cv2.THRESH_BINARY)cv2.imshow('thresh',thresImg) k1=np.ones((20,30), np.uint8)#指定膨胀核大小thresImg = cv2.dilate(thresImg, k1, iterations=1)cv2.imshow('dilation', thresImg) result = cv2.inpaint(img,thresImg,3,cv2.INPAINT_NS)cv2.imshow('result', result) cv2.waitKey(0)cv2.destroyAllWindows() 逐步效果演示原图:src Q通道转8位显示:imgQ 二值化效果:thresImg 膨胀效果:dilation inpaint修复效果:result 结尾语[1] 提取笔迹的方法有很多种,本文使用的是YIQ颜色空间的Q通道图像(直接对单个通道阈值处理较简单),大家也可以使用其他颜色空间提取红色和蓝色即可(可能需要使用inRange函数在三个通道处理); [2] RGB颜色空间与YIQ颜色空间的转换: ① 网上流行的转换公式: ② Halcon算子帮助文档中的转换公式: 二者略有差异,本文使用的是Halcon帮助文档中的转换方法,直接计算得到Q通道图像。 完整代码(Python C++实现)与素材将发布在知识星球中,有问题可以留言或在星球中提问。 相关文章连接: Halcon缺陷检测实例转OpenCV实现(一) Halcon缺陷检测实例转OpenCV实现(二) Halcon缺陷检测实例转OpenCV实现(三) Halcon缺陷检测实例转OpenCV实现(四) Halcon缺陷检测实例转OpenCV实现(五) 混合颜色药片缺陷检测 Halcon缺陷检测实例转OpenCV实现(六) 瓶口缺陷检测 Halcon转OpenCV实例--复杂背景下缺陷检测(附源码) 更多视觉图像处理相关内容,请长按关注:OpenCV与Halcon视觉。 |
CopyRight 2018-2019 实验室设备网 版权所有 |