2010-04-29 106 views
2

我正在设计一个jpeg to bmp解码器来缩放图像。我已经提供了解码器的源代码,所以我的实际工作是设计一个缩放器。我不知道从哪里开始。我已经在互联网上搜索了各种缩放算法,但我不确定在哪里介绍缩放。所以我应该在图像转换为bmp之后进行缩放,或者我应该在MCU级解码期间进行缩放。很困惑:(C中的图像缩放比例

如果你们有一些信息来帮助我,它的赞赏。任何材料阅读,源代码分析等....

哦,我忘了提一两件事,这是从PC平台到FPGA一个移植项目,所以,不是所有的库文件都可以在目标平台上。

回答

2

有很多方式来缩放图像。

最简单的方法是解码图像,然后使用天真缩放算法进行缩放,例如:

dest_pixel [x,y] = src_pixel [x * x_scale_factor, y * y_scale_factor] 

,其中x/y_scale_factor是

src_size/dest_size 

一旦你的工作,你可以考虑更复杂的缩放系统,像双线性过滤。例如,目标像素是在减小尺寸时增加尺寸时几个源像素的平均值,以及几个源像素的插值。

+0

比例因子应该与您在那里的相反。否则,您将访问源图像中的超出边界的像素。 (想象一下,src_size是1,dest_size是2,结果如何。) – 2010-04-29 14:12:54

+0

@Jim:我觉得那里没有足够的睡眠。现在修复它。 – Skizz 2010-04-29 14:22:48

+0

感谢Skizz和jim,我做了一个简单的数组缩放,它工作。如果你有一些复杂的缩放源代码,请发布它,以便我可以研究它们。 (任何语言,任何平台)。 – Gan 2010-04-29 15:57:49