插值算法急求高手帮忙解释!

QiongYang_1987 2009-05-14 03:31:07
下面的这个算法自己看的不是很懂,是图像配准算法中进行仿射变换之后的插值,不知道这个插值算法到底是怎么实现的,知道的人能帮忙解释解释吗?谢谢啦



* \说明:
* 该函数根据邻近位置的数值进行插值。
*此图象的大小为rectNewImg
*

unsigned char CImageMatch::CalSpline(unsigned char *pUnchCorr, double x, double y)
{

double ret=0, Cx, Cy;
double Temp;

for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
Temp = pUnchCorr[i*4 + j];
if(fabs(y-i)<1)
Cy = 1-2*fabs(y-i)*fabs(y-i)+fabs(y-i)*fabs(y-i)*fabs(y-i);
if(fabs(y-i)>=1)
Cy = 4-8*fabs(y-i)+5*fabs(y-i)*fabs(y-i)-fabs(y-i)*fabs(y-i)*fabs(y-i);
if(fabs(x-j)<1)
Cx = 1-2*fabs(x-j)*fabs(x-j)+fabs(x-j)*fabs(x-j)*fabs(x-j);
if(fabs(x-j)>=1)
Cx = 4-8*fabs(x-j)+5*fabs(x-j)*fabs(x-j)-fabs(x-j)*fabs(x-j)*fabs(x-j);
ret += Temp*Cy*Cx;
}
if(ret<0)
ret=0;
if(ret>255)
ret=255;

return (unsigned char)ret;

}
...全文
89 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
实达诚实 2009-05-16
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090514/15/266ab6bb-5118-46e3-a012-de34a580a807.html?seed=439187744
lambochan 2009-05-14
  • 打赏
  • 举报
回复
ms那是书上的公式直译..
用当前像素周围的4x4像素进行3次插值~~
<<vc++数字图象获取 处理及实践应用>> \ 图象配准( 8.1.3) 插值..
自己翻书去~~

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧