当前位置: 首页 > 知识库问答 >
问题:

使用像素值,如何将图像大小减少到任意分数(例如0.8或0.7或0.6倍)?

柏明亮
2023-03-14

我试图通过操纵像素值来修改图像的投影。

为此,我需要将图像的不同部分缩小不同的分数。

例如,如果图像宽度为1000像素,我可能需要将最终图像中的像素数从600-800(200像素)减少到150像素,并将最终图像的像素数减少到800-1000(200像素)。

对于第二种情况(将200个像素减少到100个像素),我可以一次取2个像素的平均值来获得最终图像中的一个像素。但是第一种(把200像素缩小到150像素)怎么做呢?

我非常感谢你的时间。

共有1个答案

蒋啸
2023-03-14

可以获得相当好的下采样质量如下:

在原始图像的W x H网格(可用分辨率)上覆盖w x h网格(所需分辨率)。

一个低分辨率单元与几个高分辨率单元重叠,您可以根据交叉点的面积估计单元的颜色作为加权平均值(见图)。

在折减系数为 0.5 的情况下,您最终得到的确实是 2x2 像素平均值。因子介于 0.5 和 1 之间时,将重叠四个像素,加权平均值对应于双线性插值。对于较小的因子,涉及更多的像素。

最后的注释:

这种转换是可分离的,这意味着您可以分两次实现它,首先是水平的,W x H到w x H,然后是垂直的,w x H到w x h。这简化了实现。

使用这些原则,您甚至可以通过考虑相应的网格来使用连续可变的折减因子。

 类似资料:
  • 我想减少一个480 X 480位图图像大小到30 X 30像素大小,但保持整个高度和宽度完整。(我不想缩放或使用高度/宽度属性!) 让我用更简单的方式--我试图将位图图像中的像素从480 X 480减少到30 X 30,高度和宽度保持不变,并且在将图像转换为30 X 30后,我预计会有一些失真。 我做了缩放,但它减少了宽度和高度,如果我再次增加宽度和高度,它只是恢复正常的像素。谢谢!

  • 我制作了一个用于图像和视频共享的社交应用程序。但是,加载图像需要花费太多时间。我正在使用glide图书馆。请告诉我如何在图像质量没有明显变化的情况下(如Instagram)缩小从gallery中拾取的图像的大小,然后将其上载到firebase存储。请帮忙!

  • 我有一堆荧光标记的细胞。 样本有一个人工制品,在细胞内引起非常明亮的区域,这些区域不是基于我感兴趣的信号。 由于这些人工制品的强度(亮度)远高于我感兴趣的信号强度,我想简单地将高于我将选择的某个任意值的所有像素归零。 所以我想要一个宏,它在逻辑上执行如下操作: 对于每个切片: 对于每个像素: 我用imageJ宏语言编码。我想避免在这个部分中使用ROI,因为我已经有了表示每个单元格的ROI,并且在脚

  • 问题内容: 如何将图像绘制到JPanel或JFrame,我已经阅读了oracle的相关教程,但似乎无法正确完成。我需要将图像“ ”显示在一组特定的坐标上。这是我到目前为止所拥有的。 在Main()中 提前致谢! 问题答案: 试试这个:

  • 创建一个有很多高质量图像的应用程序,我决定将图像缩小到所需的大小(这意味着如果图像比屏幕大,我会缩小它)。 我注意到,在一些设备上,如果图像被缩小,它们会变得模糊/像素化,但是在相同的设备上,对于相同的目标图像视图大小,如果图像没有缩小,它们看起来很好。 我决定进一步检查这个问题,并创建了一个小的POC应用程序来显示这个问题。 在向您展示代码之前,下面是我所说内容的演示: 很难看出区别,但是你可以

  • 我有一个尺寸为800x800的图像,其大小为170 kb。我想将此图像调整为600x600。调整大小后,我希望缩小图像大小。我该怎么做?