图像处理-形态学腐蚀
python的opencv库提供了强大的图像处理功能,比如图像反转,图像色彩变换以及图像的边缘提取等便捷方法。
本次分享内容包括opencv形态学腐蚀,图像高斯处理用到的库有opencv库以及提供科学计算的numpy包
处理图像
需要将此图像的的圆圈部分去除,保留文字不变
对于少量的图片,我们可以借助其他工具可以很轻松的解决,但是对于大量如此的图像来说,ps等工具显得力不从心,可以考虑借助程序的方式来解决。
形态学腐蚀
含义:可以理解为,移动结构B,如果结构B与结构A的交集完全属于结构A的区域内,则保存该位置点,所有满足条件的点构成结构A被结构B腐蚀的结果。
其实也可以简单理解为在一定半径范围内,两根粗细不同的线,在同等情况下,细的会被腐蚀去除。使用形态学腐蚀后效果如下
处理代码如下:
src = cv.imread("img.jpg")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
#gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
#gray = cv.GaussianBlur(gray, (9, 9), 2, 2)
# 二值化图像
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
gray = cv.GaussianBlur(gray, (9, 9), 4, 4)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
cv.imshow("input", binary)
# 使用3x3结构元素进行膨胀与腐蚀操作
se = cv.getStructuringElement(cv.MORPH_RECT, (3,3), (-1, -1)) #结构元素
dilate = cv.dilate(binary, se, None, (-1, -1),2 )
# 显示
cv.imshow("dilate", dilate)
cv.imwrite("dilate.png", dilate)
不同的图片可以通过调节相应参数以实现。
另外还可以利用Hough圆检测方法,检测到圆后,直接替换圆像素即可实现圆去除,有兴趣的小伙伴,可以交流一下!!!
来源:CSDN
作者:菜鸟高
链接:https://blog.csdn.net/weixin_41629698/article/details/103588005