查找图像的最小可视矩形的尺寸

Posted

技术标签:

【中文标题】查找图像的最小可视矩形的尺寸【英文标题】:Find the dimensions of the smallest viewable rectangle of an image 【发布时间】:2012-06-11 00:07:36 【问题描述】:

使用 Java 成像如何找到图像的最小可视矩形。在这里,我认为 alpha/透明像素是不可见的。我想找到尺寸,以便我可以自动裁剪图像。我想以图像中立的方式做到这一点,但如果这是不可能的,那么 PNG。

【问题讨论】:

“图像的最小可视矩形” 那么动画 GIF 呢?可视内容可能会因帧而异。 Crop image to smallest size by removing transparent pixels in java的可能重复 【参考方案1】:

假设您甚至不想裁剪单个“可见”像素,我将使用以下算法:

扫描最上面的水平线,逐像素迭代。如果该行中不存在可见像素,则前进到第二个最上面的行,依此类推,直到找到具有可见像素的行。

对底部做同样的事情,向上推进,也对侧面做同样的事情,向内推进。

完成所有 4 个步骤后,您将获得可以从图像的每一侧修剪多少行像素。

【讨论】:

是的,这就是我要做的,只是想知道如何以格式中性的方式判断像素是否透明。 查看与像素相关的BufferedImage 的方法,发现它返回Color,或表示颜色的'int'。查看Color 的方法,看看它们有接受“int”的构造函数,以及告诉透明度的方法。或者一种不那么微妙的方式是 RTFM。

以上是关于查找图像的最小可视矩形的尺寸的主要内容,如果未能解决你的问题,请参考以下文章

Qt C++ 可调整大小矩形的最小尺寸

使用矩形尺寸裁剪图像

视网膜显示器的矩形尺寸是多少?

如何计算最小长度的矩形数?

找到包含所有矩形的最小区域

求二值图像的最小外接矩形