消除灰度图像PIL中的噪声

时间:2017-12-09 14:29:46

标签: python python-3.x python-imaging-library

我正在为学校项目制作手写识别代码。我们想收集我们自己的数据,而我正在开发一个程序,用一个手写字母扫描文档并为每个字母创建一个自己的图像。我将图像切割成字母的确切大小,调整字母大小,使每个字母具有相同的尺寸,并将它们放在白色背景上,使它们具有相同的尺寸,但原始比例保持不变。我已经把它工作得很好,唯一的问题是当我在图片中有一点点噪音时,它不起作用。我有图像(见附件)和图像的所有像素列表。什么是将图像切割到图像边界而不是噪声的好方法。

我用来剪切图片的代码:

def cut_to_edge(image, data, width, height):
    left = width 
    right = 0
    down = 0
    up = height

    for i in range(len(data)):
        for j in range(len(data[i])):
            if data[i][j] < 225:
                if j < left:
                    left = j
                if j > right:
                    right = j
                if i < up:
                    up = i
                if i > down:
                    down = i

    letter = image.crop((left, up, right, down))

    return letter

图像是图像(显然), data是每个像素的二维列表([[row1] [row2] etc.)), 宽度和高度是图像的尺寸

The image I need to cut, how it should look, How it looks now

1 个答案:

答案 0 :(得分:0)

如果您的噪音像小点,您可以编写一个中值滤波器,这将解决您的问题。这个过滤器的主要思想是逐个像素地循环遍历图像,并用相邻像素的中值替换每个像素值。

但首先你需要确定你所拥有的噪音类型,然后应用正确的过滤器。