社区
机器视觉
帖子详情
高分求!!!双三次插值算法的实现代码
Angus_Li
2004-08-13 07:56:47
谁有双三次插值算法的实现代码??高分求!!!
...全文
486
5
打赏
收藏
高分求!!!双三次插值算法的实现代码
谁有双三次插值算法的实现代码??高分求!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
allendragon
2005-03-07
打赏
举报
回复
ehom 牛人啊,四颗星阿,希望以后多交流,我的邮件是allenwjx@hotmail.com
allendragon
2004-08-19
打赏
举报
回复
不好意思,忘了贴上B样条插值核,希望和 ehom多多交流。
ehom
2004-08-18
打赏
举报
回复
楼上的代码都不完整,少了插值核,从函数名是三次B样条
这代码知道了原理不难写,关键是后期优化提高效率
插值核就是滤波器,根据输入值计算加权值,双N次就是在X,Y两个方向计算两次权值,然后在RGB三个通道分别乘两个权值得到新的RGB
随手补完上面的B样条插值核,没调试,不保证对~~~当然楼上代码效率不是很高
float b3spline(float value) {
if (value<0) value=-value;
float temp;
if (value<1) {
temp=sqr(value);
return 0.5*temp*value-temp+2/3;
}
else {
if (value<2) {
value=2-value;
return sqr(value)*value/6;
}
else return 0;
}
}
allendragon
2004-08-17
打赏
举报
回复
彩色图像的双三次插值代码
float f_x, f_y, a, b, rr, gg, bb, r1, r2;
int i_x, i_y, xx, yy;
for(y=0; y<newimgh; y++)
{
f_y = (float) y * yScale;
i_y = (int) floor(f_y);
a = f_y - (float)floor(f_y);
for(x=0; x<newimgw; x++)
{
f_x = (float) x * xScale;
i_x = (int) floor(f_x);
b = f_x - (float)floor(f_x);
rr = gg = bb = 0.0F;
for(int m=-1; m<3; m++)
{
r1 = b3spline((float) m - a);
for(int n=-1; n<3; n++)
{
r2 = b3spline(-1.0F*((float)n - b));
xx = i_x+n+2;
yy = i_y+m+2;
if (xx<0) xx=0;
if (yy<0) yy=0;
if (xx>=pDoc->xdim) xx=pDoc->xdim - 1;
if (yy>=pDoc->ydim) yy=pDoc->ydim - 1;
pos = pDoc->CompPos(xx,yy,k);
voxnode = pDoc->myvoxarray[pos];
if(voxnode.flag != 255)
{
tmpt.x = (unsigned char) (255 * voxnode.matvalue[0]);
tmpt.y = (unsigned char) (255 * voxnode.matvalue[1]);
tmpt.z = (unsigned char) (255 * voxnode.matvalue[2]);
rr += (float)tmpt.x * r1 * r2;
gg += (float)tmpt.y * r1 * r2;
bb += (float)tmpt.z * r1 * r2;
}
}
}
resimg[y][x][0] = (unsigned char) rr;
resimg[y][x][1] = (unsigned char) gg;
resimg[y][x][2] = (unsigned char) bb;
}
}
zzwu
2004-08-16
打赏
举报
回复
可看看下面的网站,有原理,但没有代码:
http://dev.csdn.net/Develop/article/15/15656.shtm
最近邻、双三次、双线性插值,最近邻插值法和双线性插值法,matlab
能够
实现
对一幅图像的最近邻、双线性、双三次三种插值
最近邻、双三次、双线性插值,最近邻插值法和双线性插值法,matlab源码.zip
最近邻、双三次、双线性插值,最近邻插值法和双线性插值法,matlab源码
双立方线性插值
算法
C++
实现
即说明 Bicubic
双立方线性插值
算法
算法
C++
实现
说明,根据维基百科介绍翻译而来,值得学习参考
图像处理
算法
(一) 3D-LUT插值
算法
之Matlab仿真
图像处理
算法
(一) 3D-LUT插值
算法
之Matlab仿真
bicubic interpolation-matlab.rar_Bicubic_Bicubicinterpolation_ma
双三次插值
原理及MATLAB源码
实现
shuanglifangchazhi.m是
双三次插值
的具体
实现
sw.m是基函数
机器视觉
4,499
社区成员
15,355
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章