★☆★☆★ 最快的图像平滑缩放程序写出来了(速度已超过Seedling(叶子)发给我的内嵌汇编的) ★☆★☆★
下载地址:http://www.dapha.net/vb/list.asp?id=1967
最快的图像平滑缩放程序
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分量的值就需要 两次 浮点矩阵乘法,即 计算一个像素 需要 六次 浮点矩阵乘法。