最快的图像平滑缩放程序
CPU:K6-2 350 操作系统:Windows 98 第二版 2222 速度测试情况(单位:秒):
┏━━━━┳━━━━━┯━━━━━┯━━━━━┯━━━━━┓ ┃ 160*160┃最邻近插值│StretchBlt│双线内插值│三次卷积法┃ ┣━━━━╋━━━━━┿━━━━━┿━━━━━┿━━━━━┫ ┃我的程序┃ 0.023 │ 0.042 │ 0.152 │ 0.423 ┃ ┠────╂─────┼─────┼─────┼─────┨ ┃内嵌汇编┃ × │ × │ 0.179 │ × ┃ ┠────╂─────┼─────┼─────┼─────┨ ┃书上示例┃ 0.125 │ × │ 0.400 │ 1.035 ┃ ┗━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┛
┏━━━━┳━━━━━┯━━━━━┯━━━━━┯━━━━━┓ ┃ 640*480┃最邻近插值│StretchBlt│双线内插值│三次卷积法┃ ┣━━━━╋━━━━━┿━━━━━┿━━━━━┿━━━━━┫ ┃我的程序┃ 0.219 │ 0.380 │ 1.461 │ 3.827 ┃ ┠────╂─────┼─────┼─────┼─────┨ ┃内嵌汇编┃ × │ × │ 1.610 │ × ┃ ┠────╂─────┼─────┼─────┼─────┨ ┃书上示例┃ 1.190 │ × │ 3.790 │ 9.795 ┃ ┗━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┛
内嵌汇编:Seedling(叶子)我的内嵌汇编缩放图片的,源程序在ASM目录下 书上示例:《Visual C++ 数字图像与图形处理》上的示例程序,源程序在VC目录下
----------------------------------------------------------
如果你觉得速度慢的话,那是因为: 一、别在VB开发环境下按F5运行,那是解释运行的。解释运行的程序能快吗?!请运行编译后的exe; 二、双线内插值、三次卷积法 都需要大量的运算。特别是三次卷积法:为了计算一个像素就得读取周边16个像素,每计算一个RGB分量的值就需要 两次 浮点矩阵乘法,即 计算一个像素 需要 六次 浮点矩阵乘法。
========================================================== 我是CSDN(www.csdn.net)论坛上的“zyl910(910:分儿,我来了!)”,有问题的话去VB区发贴子找我
转载请注明来源: 开源盛世-源代码下载网 http://www.vscodes.com
|