Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 基于细节缩放图像_Image_Image Processing_Compression - Fatal编程技术网

Image 基于细节缩放图像

Image 基于细节缩放图像,image,image-processing,compression,Image,Image Processing,Compression,我很好奇,是否有一些方法或算法可以用来根据图像中的细节量或熵来缩小图像的比例,从而将新的尺寸确定为一个分辨率,在这个分辨率下,原始图像的大部分细节都可以保留下来 例如,如果使用相机拍摄失焦或抖动的图像,则细节或高频内容将比相机聚焦拍摄图像或从相对于所描绘场景的固定位置拍摄图像时更少。如果要将低熵图像缩放回原始大小,则该图像的大小可以显著减小,并且仍然保持大部分细节。但是,对于更详细的图像,在不丢失重要细节的情况下,无法减少图像大小 我当然知道,许多有损图像格式(包括JPEG)都做了类似的事情,即

我很好奇,是否有一些方法或算法可以用来根据图像中的细节量或熵来缩小图像的比例,从而将新的尺寸确定为一个分辨率,在这个分辨率下,原始图像的大部分细节都可以保留下来

例如,如果使用相机拍摄失焦或抖动的图像,则细节或高频内容将比相机聚焦拍摄图像或从相对于所描绘场景的固定位置拍摄图像时更少。如果要将低熵图像缩放回原始大小,则该图像的大小可以显著减小,并且仍然保持大部分细节。但是,对于更详细的图像,在不丢失重要细节的情况下,无法减少图像大小


我当然知道,许多有损图像格式(包括JPEG)都做了类似的事情,即存储给定分辨率的图像所需的数据量与图像数据的熵成正比,但我很好奇,主要是出于我自己的兴趣,如果有一种计算效率高的方法可以将分辨率缩放到图像内容。

这是可能的,并且有人可能会说,从到,大多数有损图像压缩方案基本上都是以自己的特定方式进行的

请注意,此类方法几乎总是在小图像块上而不是在大图像上操作,以便在较低细节区域中最大化压缩,而不是被限制在任何地方应用相同的设置。后者可能会导致大多数“真实”图像的压缩效果差和/或丢失率高,这些图像通常包含混合的细节级别,但也有一些例外情况,如失焦示例

您需要定义什么构成“原始图像的大部分细节”,因为只有经过精心设计的图像才能实现完美恢复。您还需要指定每种方式使用的精确的重新缩放形式,因为这将对恢复的质量产生相当大的影响。例如,简单的像素重复可以更好地保留硬边,但会破坏平滑的梯度,而线性插值可以更好地再现梯度,但可能会破坏边缘


一种简单的、即兴的方法可能是计算2D功率谱,并选择一种可以保留包含“大部分”内容的频率的缩放(可能垂直和水平不同)。基本上,这相当于选择一个低通滤波器来保持“大部分”细节。这种方法是否算作“计算效率”可能还没有定论……

感谢您的分析。就算法而言,降尺度和升尺度都有复杂性。我想双三次曲线可能是缩小尺度的一个不错的一般选择?为了提升规模,我想人们可能会使用某种插值,也许是双三次插值?至于即兴的方法,你的建议与我发表文章后的想法类似。这就像制作一个下采样低通滤波器,其中滤波器系数/重采样分辨率将基于查看低频功率下降的位置。(确认,继续按enter键换行,并最终保存注释)我预计这种节省可能不会改善有损压缩所获得的数据大小,但是我认为类似的东西可以用于自动缩放,或者在用户缩放图像时向其提供视觉效果,以确定何时开始丢失细节。(很抱歉,一直按enter键并添加注释,然后无法进一步编辑以前的注释)