我有一个人的图像,我想对其进行压缩以使其小于4KB。我需要压缩它,即使图像会缩小,仍然可以识别人的脸。
答案 0 :(得分:3)
这是142kB的Theresa May:
并调整为72x72的大小,并转换为灰度,并在命令行上使用 ImageMagick 缩小为2kB:
convert original.jpg -resize 72x72 -colorspace gray -define jpeg:extent=2kb result.jpg
我仍然可以认出她。
这里还有另外一个家伙,容量降到了1kB,我仍然可以认出他来:
ImageMagick 已安装在大多数Linux发行版中,并且可用于macOS和Windows。绑定适用于Python,PHP,Ruby,Javascript,Perl等。
如果您对图像或识别算法有进一步的了解,则可以做得更好。例如,如果您知道图像的中心比边缘更重要,则可以在相对不重要的区域稍微模糊或降低对比度,并在重要区域中使用可用空间获取更多细节。
答案 1 :(得分:2)
Mark Setchell有正确的想法。但我可能会建议一个潜在的小改进。删除任何个人资料,包括配置文件,EXIF数据等。您可以通过添加-strip
convert input.jpg -strip -resize 72x72 -colorspace gray -define jpeg:extent=2kb result.jpg
或使用-thumbnail而不是-resize。前者会自动进行剥离。
convert input.jpg -thumbnail 72x72 -colorspace gray -define jpeg:extent=2kb result.jpg