【问题标题】:Remove noise from grayscale image PIL从灰度图像 PIL 中去除噪声
【发布时间】:2017-12-09 14:29:46
【问题描述】:

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

我用来剪切图像的代码:

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

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

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

【问题讨论】:

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


【解决方案1】:

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

但首先您需要确定噪声的类型,然后应用正确的过滤器。

【讨论】:

  • 噪声是像素组,我添加的图像中的一个是 3 x 4 像素
猜你喜欢
  • 2014-05-22
  • 2023-04-05
  • 1970-01-01
  • 2021-08-16
  • 2011-12-30
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多