【发布时间】:2020-06-03 15:21:32
【问题描述】:
我对图像处理很陌生,我想做的是清除验证码中的噪音;
对于验证码,我有不同的类型:
对于第一个我做的是:
首先,我将每个不是黑色的像素都转换为黑色。然后,我从图像中发现了一个噪声模式并将其删除。对于第一个验证码,很容易清除它,我找到了带有 tesseract 的文本。
但我正在寻找第二个和第三个的解决方案。
这一定是怎样的?我的意思是有什么可能的方法来清除它?
这就是我删除模式的方式:
def delete(searcher,h2,w2):
h = h2
w = w2
search = searcher
search = search.convert("RGBA")
herear = np.asarray(search)
bigar = np.asarray(imgCropped)
hereary, herearx = herear.shape[:2]
bigary, bigarx = bigar.shape[:2]
stopx = bigarx - herearx + 1
stopy = bigary - hereary + 1
pix = imgCropped.load()
for x in range(0, stopx):
for y in range(0, stopy):
x2 = x + herearx
y2 = y + hereary
pic = bigar[y:y2, x:x2]
test = (pic == herear)
if test.all():
for q in range(h):
for k in range(w):
pix[x+k,y+q] = (255,255,255,255)
对不起变量名,我只是在测试函数。
谢谢..
【问题讨论】:
-
对于单一的基本图像处理方法而言,这些任务相当繁重,但您可以研究“莫尔条纹”和去除它们的方法。此外,您可以使用深度学习方法,例如文本分割或从图像中获取干净的模板,并通过关联删除图像中的任何匹配项。
-
@SajanGohil 是的,通过模式方法,我做了一些事情。谢谢
-
@AhmetAzizBeşli 嗨,您能在函数前添加代码吗?我面临一个与你类似的问题,这个函数可能对我有帮助,但是我很难用这个代码 sn-p 来理解这个函数。谢谢
-
@AhmetAzizBeşli 您是否在此期间找到了第三个(扭曲的)验证码的解决方案?
标签: python image-processing ocr tesseract captcha