我有一个imagemagick convert命令,它可以识别PNG的非透明区域并将它们写入文件。
convert mask.png -alpha extract -negate -define connected-components:verbose=true -define connected-components:area-threshold=100 -connected-components 8 -auto-level result.png > data2.cc
输出如下所示:
Objects (id: bounding-box centroid area mean-color):
0: 1748x2480+0+0 872.2,1240.4 2983832 gray(255)
1: 814x1664+470+406 876.5,1237.5 1351208 gray(0)
现在我正在使用Laravel,我希望能够在上传文件时运行此命令-使用ImageMagick functions可以吗?
我已经浏览了文档中的关键词,如提取和组件,他们没有列出-所以要么等效的功能不存在或有不同的命名约定?
我真的很想避免使用exec()-但任何指导将是真的很感激,即使它是确认我试图实现的技术术语,这可能有助于我的搜索。
My line of research was inspired by this question.然后this is where I found the command to write to the file.
1条答案
按热度按时间gc0ot86w1#
根据Grzegorz Sapijaszko的建议,下面是我编写的bash脚本,用于获取PNG并通过命令传递它们以分析图像中的元素。
这将移动到第2行的目录,循环通过任何PNG文件并对其运行命令,将结果存储在第二个位置的.cc文件(同名)中,并将PNG与之一起移动,以便不会再次处理它。
该命令生成一个result.png文件,但我只是在第5行删除了它。
希望这对其他人有用。