首页 > Computer > CxImage库Resample函数插值优化

CxImage库Resample函数插值优化

最近用了下图像操作库cximage。这库不错,免费开源。修改下bcb,vc都能用。

唯一的主要毛病可能就算是优化不给力了。

使用中,对其resample函数的插值算法尤其头痛,随便一个pdg图像,200%缩放,花费10-20s是常事。因此不得不硬着头皮对其进行优化。

优化中能想起来的使用过 定点替换浮点,循环展开,区域缓存,查表等等。

优化后效果还不错。
bicubic 24bit图像能实现2178×2976 2倍放大耗时 1.8s左右
bicubic 1bit 图像能实现2178×2976 2倍放大耗时 2.6s左右

bilinear 24bit图像能实现2178×2976 2倍放大耗时 0.78s左右
bilinear 1bit 图像能实现2178×2976 2倍放大耗时 1.31s左右

以上测试数据基于T6400 CPU,优化基于cximage 7.02.

当然肯定还有优化空间,例如源码进一步优化以及mmx,sse优化等等,不过暂时本人是没啥辙了,能力有限,只能到这个地步。

这里贴出改过之后的ximatran.cpp
PS:KernelBSpline函数也改成了定点版本,所以这个函数需要自己去改下,不在ximatran.cpp里
修改后的ximatran.cpp

分类: Computer 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: