基于线条颜色分割图像

时间:2018-03-29 10:54:11

标签: image-processing imagemagick

我想根据线条的颜色分割图像。

我正在使用霍夫线检测器来检测线条并用红色标记它。

现在,我想基于使用线检测算法叠加的线来分割图像。

Image with line detection overlay

我想将上面的图像分成两部分。

1 个答案:

答案 0 :(得分:0)

您可以使用一些Unix shell命令在Imagemagick中执行此操作,如下所示。基本思想是将图像平均为一列,然后在列中搜索红色像素的y坐标。然后用它将图像裁剪成两部分。

INPUT:

enter image description here

width=$(convert -ping tRbWW.png -format "%w" info:)
height=$(convert -ping tRbWW.png -format "%h" info:)
y=$(convert tRbWW.png -alpha off -scale 1x! -fuzz 20% -fill red -opaque red txt:- | grep "red" | head -n 1 | cut -d: -f1 | cut -d, -f2)
height1=$((y+1))
height2=$((height-y+1))
convert tRbWW.png \
\( -clone 0 -gravity north -crop ${width}x${height1}+0+0 +repage +write top.png \) \
\( -clone 0 -gravity south -crop ${width}x${height2}+0+0 +repage +write bottom.png \) \
null:

enter image description here

enter image description here