使用ImageMagick从图像

时间:2016-08-02 17:51:19

标签: image-processing imagemagick crop

我想使用ImageMagick从图像中裁剪除了带有黑色背景的文本字段之外的所有内容(参见下面的示例)。目标是隔离黑色区域以便在文本图像上进行额外的工作。我需要为数百张图像做这些,并且目标区域在图像之间略微移动(图像是来自电影视频的屏幕抓取)。

因此,我需要自适应地识别具有黑色背景的区域,然后从图像中移除其他所有内容。

例如,转过来: enter image description here

进入这个:
enter image description here

主要关注的是感兴趣区域的左下边缘与所有数百张图像对齐。

1 个答案:

答案 0 :(得分:1)

除了查看更多示例之外,您还可以设置阈值并执行"连接组件分析" ,并查找最宽的黑色区域:

convert frame.png -threshold 30%                     \
    -define connected-components:verbose=true        \
    -define connected-components:area-threshold=5000 \
    -connected-components 4 -auto-level output.png

Objects (id: bounding-box centroid area mean-color):
  1: 720x480+0+0 357.3,232.9 334572 srgb(255,255,255)
  27: 542x40+93+416 426.1,441.0 11028 srgb(0,0,0)

如果我用红色画出,第二个斑点被识别出来(你可以看到它是黑色的,宽的而且不是很高):

convert frame.png -fill none -stroke red -draw "rectangle 93,416 635,456" output.png

enter image description here

您可以使用类似命令裁剪出来:

convert frame.png -crop 542x40+93+416 output.png

enter image description here

Tages:时间码,时间码,视频