社区
机器视觉
帖子详情
高分求!!!双三次插值算法的实现代码
Angus_Li
2004-08-13 07:56:47
谁有双三次插值算法的实现代码??高分求!!!
...全文
551
5
打赏
收藏
高分求!!!双三次插值算法的实现代码
谁有双三次插值算法的实现代码??高分求!!!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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
超分辨率重建
双三次插值
Bicubic生成
高分
辨率图像
目录 一背景 二
代码
三注意 一背景 在超分任务中,为了做对比实验,需要
双三次插值
算法
生成
高分
辨率图像。为此写了简单
代码
实现
。 二
代码
import os import argparse import cv2 # parse args parser = argparse.ArgumentParser(description='Upsize images using bicubic interpolation') parser.add_argument("-k", "--keepdi
SR研究(2)
双三次插值
法的图像退化
SR研究(2)
双三次插值
法的图像退化 目前常用的数据集提供的都是
高分
辨率图片。如果是实验室环境下的图项超分辨率监督实验——即不采用现实生活的直接图片,往往都是通过
算法
将数据集中的
高分
辨率图片生成出低分辨率图片来进行训练学习。 目前常用的数据集提供的都是
高分
辨率图片。如果是实验室环境下的图项超分辨率监督实验——即不采用现实生活的直接图片,往往都是通过
算法
将数据集中的
高分
辨率图片生成出低分辨率图片来进行训练学习。其中,
双三次插值
法作为最早的图像插值
算法
在如今的超分辨率研究领域中往往被用作训练数据集的生成。(R
图像插值
算法
概览及
代码
实现
图像插值最强集锦
双三次插值
(BiCubic插值)
双三次插值
(BiCubic插值 )
双三次插值
又称立方卷积插值。三次卷积插值是一种更加复杂的插值方式。该
算法
利用待采样点周围16个点的灰度值作三次插值,不仅考虑到4 个直接相邻点的灰度影响,而且考虑到各邻点间灰度值变化率的影响。三次运算可以得到更接近
高分
辨率图像的放大效果,但也导致了运算量的急剧增加。这种
算法
需要选取插值基函数来拟合数据,其最常用的插值基...
【数字图像处理】图像内插“双三次内插法
双三次插值
Bicubic interpolation”(cv2.resize、cv.INTER_CUBIC)
文章目录基本原理
代码
引用自:《数字图像处理》 基本原理 引用自:https://baike.baidu.com/item/%E5%8F%8C%E4%B8%89%E6%AC%A1%E6%8F%92%E5%80%BC/11055947?fr=aladdin
双三次插值
考虑的是周围16个像素的像素值,其权重因子的计算比较复杂。常用BiCubic插值原理。 BiCubic插值原理简介:
双三次插值
又称立方卷积插值。三次卷积插值是一种更加复杂的插值方式。该
算法
利用待采样点周围16个点的灰度值作三次插值,不仅考虑
机器视觉
4,514
社区成员
15,347
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章