我想使用ImageMagick从图像中裁剪除了带有黑色背景的文本字段之外的所有内容(参见下面的示例)。目标是隔离黑色区域以便在文本图像上进行额外的工作。我需要为数百张图像做这些,并且目标区域在图像之间略微移动(图像是来自电影视频的屏幕抓取)。
因此,我需要自适应地识别具有黑色背景的区域,然后从图像中移除其他所有内容。
主要关注的是感兴趣区域的左下边缘与所有数百张图像对齐。
答案 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
您可以使用类似命令裁剪出来:
convert frame.png -crop 542x40+93+416 output.png
Tages:时间码,时间码,视频