imagemagick - Imagemagick - 检查顶行是否包含任何黑色像素
问题描述
我有一个白色的 jpg 文件,上面有一些黑色像素。
我正在寻找一种方法来检查顶行(因此 y = 0)是否包含任何黑色像素。有没有办法用 Imagemagick / convert 来做,或者其次是用任何其他 linux 命令行工具?
我在谷歌上找不到任何类似的话题。
谢谢。
解决方案
您可以裁剪顶行并打印该行中最暗(最小)的像素,如下所示:
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:
推荐阅读
- c - Arm:objcopy 如何知道 elf 中的哪些部分要包含在二进制或 ihex 中?
- javascript - 动态存储对 setTimeout() 的引用
- python-3.x - 如何有粗体标题,但非粗体单元格 - 填充 pygsheets==2.0.1 的 worksheet.append_table
- mysql - 如何使用两个日期和 BETWEEN 将查询更新为计算 SUM 或 COUNT?
- javascript - JS - atob() 要解码的字符串包含无效字符
- python-3.x - 仅将升序值从 CSV 导入列表 - Python
- java - 在 Java 中使用 Log4j 显示休眠统计信息和 sql
- node.js - 对嵌套对象进行 OR 比较的 Mongoose 查询返回一个空数组
- excel - 为什么 VBA 函数会为集合提供编译错误,但不会为字符串提供编译错误
- java - 由于 JavaMail 消息,Tomcat 无法启动