使用ImageMagick删除收据图像边框

时间:2015-01-06 12:31:06

标签: ruby imagemagick ocr tesseract image-masking

在使用tesseract-OCR引擎提取文本之前,我使用ImageMagick服务预处理收据图像。我需要删除收据的背景。我已经通过蒙面去除边框here. 但是我无法为收据创建蒙版。

但是,我尝试删除收据图片中的阴影。

初始图片(收据示例)

enter image description here

convert input.png -colorspace gray \
      \( +clone -blur 0x2 \) +swap -compose divide -composite \
      -linear-stretch 5%x0%   photocopy.png

应用代码后:

enter image description here

我已尝试使用以下代码制作除白色到黑色之外的所有颜色,但这似乎并没有完全遮蔽photocopy.png的背景。

convert receipt.jpg -fill black -fuzz 20% +opaque "#ffffff" black_border.jpg

enter image description here

有没有办法删除收据图像的边框?或者从图像中创建任何类型的蒙版?注意:我需要删除具有不同背景的多个图像的噪点和边框。

2 个答案:

答案 0 :(得分:1)

回答你的问题

  

“有没有办法删除收据图像的边框?或者从图像中创建任何类型的蒙版?

以下命令(基于您自己的代码)将创建一个图像,您可以使用该图像来获取适用蒙版的尺寸:

convert                     \
   origscan.jpg             \
  -colorspace gray          \
   \( +clone 0 -blur 0x2 \) \
  +swap                     \
  -compose divide           \
  -composite                \
  -linear-stretch 5%x0%     \
  -threshold 5%             \
  -trim                     \
   mask-image.png

您可以使用该蒙版图像在一个命令中创建单色(黑色)蒙版:

convert                     \
   origscan.jpg             \
  -colorspace gray          \
   \( +clone 0 -blur 0x2 \) \
  +swap                     \
  -compose divide           \
  -composite                \
  -linear-stretch 5%x0%     \
  -threshold 5%             \
   \(                       \
      -clone 0              \
      -fill '#000000'       \
      -colorize 100         \
   \)                       \
  -delete 0                 \
   black-mask.png

以上两个命令的结果是并排的:

您可以使用identify获取mask-image.png以及black-mask.png的几何图形:

identify -format "%g\n" *mask*.png
  2322x4128+366+144
  2322x4128+366+144

因此图像画布宽2322像素,高4128像素。在-trim操作之后,两个图像的可见部分当然都较小。 (+366+144部分表示距原始图像左上角的水平/垂直偏移。)


其他评论: 说完这一切:您应该真正考虑从收据中创建更好的照片! (如果您的相机可以创建4128像素高度的图像,这应该不是问题。如果您要处理的收据太多,那么获得一块可以制作的小平板玻璃可能是个好主意。放在纸上,以便在拍摄时将其拉直......)

答案 1 :(得分:0)

If using ImageMagick on a unix-like system, you could try my text cleaner script.

textcleaner -f 20 -o 10 -e normalize UhSV6.jpg result.jpg

enter image description here

相关问题