本文介绍了python-opencv morphologyEx删除特定的颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

删除验证码的背景后.
图像保留数字和噪点.
杂讯线全为一种颜色:RGB(127,127,127)
然后采用形态学方法.

After remove captcha's background.
The image remain digits and noise.
Noise line is all in one color : RGB(127,127,127)
And then using morphology method.

    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2))
    self.im = cv2.morphologyEx(self.im, cv2.MORPH_CLOSE, kernel)

数字的某些部分将被删除.
如何使用morphologyEx()仅删除RGB(127,127,127)中的颜色?

Some part of digit will be remove.
How to use morphologyEx() remove only color in RGB(127,127,127) ?

推荐答案

为消除特定范围内的颜色,您必须使用cv2.inRange()函数.

In order to eliminate color within a particular range you have to use cv2.inRange() function.

这是代码:

lower = np.array([126,126,126])  #-- Lower range --
upper = np.array([127,127,127])  #-- Upper range --
mask = cv2.inRange(img, lower, upper)
res = cv2.bitwise_and(img, img, mask= mask)  #-- Contains pixels having the gray color--
cv2.imshow('Result',res)

这是我为您拥有的两张图片所得到的:

This is what I got for the two images you have:

图片1:

图片2:

你从这里继续.

这篇关于python-opencv morphologyEx删除特定的颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 04:26