图像的智能裁剪

给定一张图片,如何才能把其中的重要部分选取出来?这是个很普遍的需求,但是实现这一需求的算法并不多。在进行少许检索之后,发现已有的几个,几乎都是一个老祖宗。

最早的实现是用 JavaScript 写就的(这也难怪,毕竟在 Web 上这个需求的强烈性恐怕远超其他平台)smartcrop.js,代码库是 https://github.com/jwagner/smartcrop.js。相关文章可参见 https://29a.ch/2014/04/03/smartcrop-content-aware-image-cropping

随后有人将之用 Java 实现了一遍,是为 https://github.com/QuadFlask/smartcrop-java,Java 版本的实现,依赖于 BufferedImage,但在同为 Java 语言称霸一方的 Android 平台上,该类却不见其踪影,于是作者又写了一份 https://github.com/QuadFlask/smartcrop-android。后来,还有好事者用 go 语言也实现了一遍,即 https://github.com/muesli/smartcrop

另外还有一个国人写的库,在 https://github.com/pqpo/SmartCropper,看上去似乎对文档等物体的识别更擅长一些。

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注