首页 > 解决方案 > Imagemagick - 检查顶行是否包含任何黑色像素

问题描述

我有一个白色的 jpg 文件,上面有一些黑色像素。

我正在寻找一种方法来检查顶行(因此 y = 0)是否包含任何黑色像素。有没有办法用 Imagemagick / convert 来做,或者其次是用任何其他 linux 命令行工具?

我在谷歌上找不到任何类似的话题。

谢谢。

标签: imagemagickimagemagick-convert

解决方案


您可以裁剪顶行并打印该行中最暗(最小)的像素,如下所示:

magick image.png -crop x1+0+0\! -format "%[min]" info:

如果有一个纯黑色像素,它将打印 0。


我假设你的图像是灰度的,如果不是,你可能想要这样:

magick image.png -crop x1+0+0\! -colorspace gray -format "%[min]" info:

请注意,JPG 图像是有损的,因此即使您在图像中绘制黑色像素(即 0),保存后它也可能显示为 3 或 4。因此,您可能还需要添加一个阈值以强制低于某个值的所有像素为零(即纯黑色),并将高于该值的所有像素强制为纯白色:

magick image.jpg -crop x1+0+0\! -colorspace gray -threshold 1% -format "%[min]" info:

推荐阅读