【问题标题】:Image Processing to remove noise from image图像处理从图像中去除噪声
【发布时间】:2019-05-10 13:49:26
【问题描述】:

我正在使用opencv对图像进行图像处理。

我只想将图像转换为黑白,但我想去除一些灰色(噪点)

这是我的图片:

我想要一张黑白图像,只是为了清楚地显示文字:

" 参与 -3.93 C Redevance Patronale -1.92 C "

我尝试使用 OpenCV 更改图像的阈值但没有成功

#grayscale
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#binary
ret,thresh = cv2.threshold(gray,175,255,cv2.THRESH_BINARY_INV)

【问题讨论】:

    标签: python-3.x opencv image-processing


    【解决方案1】:

    我认为您的意思是消除图像的噪点。为此,您可以选择较低的阈值。我使用ret,thresh = cv2.threshold(img,64,255,cv2.THRESH_BINARY) 选择了 64,我得到了这个结果:

    但这不是很清楚,而且字母很细,所以我们使用cv2.erode。这给出了:

    现在我们在原始图像和腐蚀图像之间执行cv2.bitwise_or 以获得无噪声图像。

    使用的完整代码是

    img = cv2.imread('grayed.png', 0)
    ret,thresh = cv2.threshold(img,64,255,cv2.THRESH_BINARY)
    kernel = np.ones((5, 5), np.uint8)
    erode = cv2.erode(thresh, kernel, iterations = 1)
    result = cv2.bitwise_or(img, erode)
    

    【讨论】:

    • 这是一个很好的例子,但我正在使用 C++。玩弄参数,我能够使用较小的阈值 # 使用较大的内核大小获得良好的结果。感谢提交。
    【解决方案2】:

    您的颜色转换转换为灰色的 RGB 图像(根据 GIMP,它仍然是 RGB 图像)。 opencv 文档说图像必须是灰度而不是彩色。即使您的图像是灰色的,它仍然是彩色图像。不确定具有 GREY 色彩空间的彩色图像是否与灰度图像相同。

    这真的是重复的:-

    Converting an OpenCV Image to Black and White

    【讨论】:

    • 是的。我已经更新了我的答案以反映我目前的理解。我以前发现这在 opencv 中是有问题的。当我检查了我的一些 opencv 内容后,我会更新。
    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 2021-08-16
    • 2011-12-30
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多