什么是用于将SD图像转换为HD图像的编程技术

时间:2009-02-08 04:08:01

标签: c++ image-manipulation

我正在上编程课,教师喜欢使用图像,所以我们的大多数任务都涉及操作原始RGB图像数据。我们的任务之一是实现标准图像转换器,将SD图像转换为HD图像,反之亦然。我总是利用这些类型的分配来超出我们要求的范围,所以我添加了一个基本的抗锯齿过程,它使用3x3周围像素的平均像素颜色来改善转换后的图像。虽然它有点帮助,但结果图像仍然看起来不太好,这是可以的,因为预计它不会用于分配。我已经了解到,将SD转换为高清图像已经显示出比从HD下采样到SD要困难得多,因为SD到HD有效地涉及在不存在时提高分辨率。显然,很难从零开始创建像素,但是我希望将我的抗锯齿增强到能够在放大图像时提供更好结果的东西。我在互联网上找到并阅读的大多数技术远远超出了我的图像处理和编程水平。

有人可以建议任何更好的方法或流程来创建可能在我的编程技能水平范围内的SD内容的高清内容吗?我知道,由于你不认识我,这是一件很难的事情,但也许我知道我可以编写c ++代码来读取原始RGB数据,并通过简单的平均抗锯齿来提升/缩小它会给你一个想法。 / p>

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:5)

除非我在某种程度上错了,否则你要求resampling techniques。距离最近邻居的第一个改进是bilinear interpolation;从那时起的下一步通常是bicubic interpolation,这要复杂得多。有大量的重采样算法,但正如你所说,质量升级一般很难,因为你无法创建新的信息。

答案 1 :(得分:1)

插值从不添加信息。要恢复信息,您必须拥有导致信息丢失的模型。

如果信息因模糊而丢失,您可以尝试不锐化屏蔽(视频上使用的一种非常古老且简单的技术)。谷歌吧。

反向扩散可以减少由于欠采样引起的明显模糊(参见通过插值反向扩散的部分体积减少,Salvado等人,Int J Biomed Imaging.2006)。本文的介绍应该回答你的很多问题。

如果由于采集设备不良而导致信息丢失,有时会使用反卷积。这是一个非常广泛和活跃的研究领域。如果使用正确的模型,反卷积可以提供非常好的重建,但它也会增加噪声。

完全不同的问题是当多个低分辨率图像可用时合成新的高分辨率信息。这些超分辨率算法使用子像素移位来构建真实图像的模型。噪声必须非常精确地建模,否则结果会很糟糕。 (参见“超分辨率图像重建:技术概述”,Kang。,IEEE Signal Processing Magazine,20(3):21 - 36,2003年5月。)

如果你想了解这些算法,你必须得到一本好的图像处理书。我建议Image Processing Handbook,CRC Press,Third Edition,1999,John C. Russ。

答案 2 :(得分:0)

从实验开始,通常我过去在NLE工作站上所做的就是上采样/升级,超过目标分辨率然后再次下采样。然后添加锐度滤镜。

当然,最重要的是你不能创建一开始就不存在的数据,但你可以获得'预先''HD'外观。