我想根据线条的颜色分割图像。
我正在使用霍夫线检测器来检测线条并用红色标记它。
现在,我想基于使用线检测算法叠加的线来分割图像。
Image with line detection overlay
我想将上面的图像分成两部分。
答案 0 :(得分:0)
您可以使用一些Unix shell命令在Imagemagick中执行此操作,如下所示。基本思想是将图像平均为一列,然后在列中搜索红色像素的y坐标。然后用它将图像裁剪成两部分。
INPUT:
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:
顶
底