【发布时间】: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
【问题讨论】:
-
我先使用opencv过滤器解决了这个问题
标签: python python-3.x python-imaging-library