使用ImageMagick统计指定x坐标处垂直方向近似红色像素数量
命令修正方案
你原命令统计结果不符合预期的核心原因是-crop 61x+0+0裁剪的是x=0到x=60的全部61列像素,自然会包含左侧所有红色像素的统计结果。
只需要修改裁剪参数,仅保留x=60的单列像素即可,修正后的完整命令如下:
convert img.png -alpha off -fuzz 2% -fill white -opaque "#FF0000" -fill black +opaque white -crop 1x+60+0 +repage -format "%[fx:round(mean*w*h)]\n" info:
调整说明
- 移除了不必要的
-gravity west参数,直接通过-crop 1x+60+0指定裁剪起始x坐标为60,裁剪宽度为1,仅保留目标垂直线的所有像素 - 新增
+repage参数重置裁剪后的画布元数据,避免残留的偏移值干扰像素统计计算 - 如果你使用的是ImageMagick 7+版本,把开头的
convert替换为magick即可正常执行
执行上述命令后输出的数值就是x=60垂直线上符合阈值的红色像素总数,和你预期的4个结果匹配。
内容的提问来源于stack exchange,提问作者user17027702
相关产品推荐
相关产品推荐

