Imagemagick - 检查顶行是否包含任何黑色像素

Imagemagick - check if top line contains any black pixel

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

我正在寻找一种方法来检查顶行(即 y = 0 处)是否包含任何黑色像素。有什么方法可以使用 Imagemagick / convert 来完成,或者其次使用任何其他 linux 命令行工具吗?

我在 google 上找不到任何类似的主题。

谢谢。

您可以像这样裁剪掉最上面的一行并打印该行中最暗(最小)的像素:

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: