ImageMagick-修剪/裁剪到连续的对象

时间:2018-08-03 10:11:39

标签: imagemagick

您如何在Photoshop中完成此步骤。

https://gyazo.com/180a507c0f3c9b342fe33ce218cd512e

假设图像中有两个连续的对象,并且您要围绕每个对象创建大小正确的作物,并作为两个文件输出。 (一般化为N个文件)

1 个答案:

答案 0 :(得分:3)

您可以使用“连接组件分析” 来查找相邻的斑点。

开始图片

enter image description here

convert shapes.png -colorspace gray -negate -threshold 10%  \
   -define connected-components:verbose=true                \
   -connected-components 8 -normalize output.png

示例输出

Objects (id: bounding-box centroid area mean-color):
  0: 416x310+0+0 212.3,145.2 76702 srgb(0,0,0)
  1: 141x215+20+31 90.0,146.2 26129 srgb(255,255,255)
  2: 141x215+241+75 311.0,190.2 26129 srgb(255,255,255)

请注意如何“标记” 或使用其自己独特的颜色(灰色阴影)标识每个斑点或连续对象。

enter image description here

因此有一个标题行告诉您哪些字段后跟3个blob,即每行输出一个。第一行是整个图像,用处不大。第二个是141像素宽和215像素高,从左上角的+ 20 + 31开始。第三个是相同的大小(因为我复制了形状),并且从左上角开始为+ 241 + 75。

现在在最后指示的矩形周围绘制红色的笔触-请记住rectangle会占据左上角和右下角,而不是左上角加上宽度和高度。

convert shapes.png -stroke red -fill none -draw "rectangle 241,75 382,290" z.png

并裁剪它:

convert shapes.png -crop 141x215+241+75 z.png

enter image description here

这是提取的部分:

enter image description here


如果想一概而论,只需将 ImageMagick 输出通过管道输送到awk中,然后选择几何字段:

convert shapes.png -colorspace gray -negate -threshold 10%  -define connected-components:verbose=true  -connected-components 8 -normalize output.png | awk 'NR>2{print $2}'

示例输出

141x215+20+31
141x215+241+75