opencv 去除噪点 java_c++ - OpenCV-去除图像中的噪点 - 堆栈内存溢出

本文介绍了如何利用OpenCV的膨胀、腐蚀和形态学闭运算来去除图像中的噪点。通过放大图像、腐蚀处理以及使用MORPH_CLOSE操作,可以有效地减少噪点。此外,还提出了使用Canny边缘检测和HoughLinesP找到噪点列,并针对性地应用滤波器的方法,以避免对图像其他部分造成损害。最后给出了C++代码示例,展示了如何将处理后的部分替换回原始图像。
摘要由CSDN通过智能技术生成

我在OpenCV中尝试了一些过滤器/操作,它似乎工作得很好。

第1步: 放大图片-

kernel = np.ones((5, 5), np.uint8)

cv2.dilate(img, kernel, iterations = 1)

aHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ybVVmUy5wbmc=

如您所见,噪点消失了,但字符很轻,所以我腐蚀了图像。

第2步: 侵蚀图像-

kernel = np.ones((5, 5), np.uint8)

cv2.erode(img, kernel, iterations = 1)

23e0cc86ae93d8e2438e5034ae40ddd5.png

如您所见,噪音消失了,但是其他列上的某些字符损坏了。 我建议仅在嘈杂的列上运行这些操作。 您可能要使用HoughLines查找最后一列。 然后,您只能提取该列,进行扩散+腐蚀,然后将其替换为原始图像中的相应列。 另外,膨胀+侵蚀实际上是一个称为close的操作。 您可以直接使用-

cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

正如@Ermlg所建议的&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值