社区
图形处理/算法
帖子详情
求双立方插值(非spline)的实例代码,多谢!
robust2009
2009-01-15 07:20:56
偶是图像处理的新手,最近用二次线性插值实现动态图像放大,静态时感觉还可以了。
只是在视频播放时如果突然停下就会导致暂停的画面锯齿严重。
所以试图通过用双立方插值来实现放大,期望能改善这个锯齿。其他方法由于种种限制暂不考虑。
在网上搜索了很久,包括这里,但是还是觉得没有什么头绪。还恳请哪位有源码,只是参考一下实现原理。因为最终实现不是用软件,是逻辑语言来做的。多谢!
发到邮箱也可以,呵呵。tianyee@qq.com
...全文
548
6
打赏
收藏
求双立方插值(非spline)的实例代码,多谢!
偶是图像处理的新手,最近用二次线性插值实现动态图像放大,静态时感觉还可以了。 只是在视频播放时如果突然停下就会导致暂停的画面锯齿严重。 所以试图通过用双立方插值来实现放大,期望能改善这个锯齿。其他方法由于种种限制暂不考虑。 在网上搜索了很久,包括这里,但是还是觉得没有什么头绪。还恳请哪位有源码,只是参考一下实现原理。因为最终实现不是用软件,是逻辑语言来做的。多谢! 发到邮箱也可以,呵呵。tianyee@qq.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
海涵德
2010-05-19
打赏
举报
回复
现在我明白了,这是我本科时在计算数学中学到的计算方法,我的专业就是数学系计算数学,多年不用了快忘光了。
Normandie007
2010-05-19
打赏
举报
回复
双三次插值是二维空间中最常用的插值方法。在这种方法中,函数 f 在点 (x, y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。
通过双三次插值可以得到一个连续的插值函数,它的一阶偏导数连续,并且交叉导数处处连续。
双三次插值通过下式进行计算:
a00 + a10x + a01y + a20x2 + a11xy + a02y2 + a21x2y + a12xy2 + a22x2y2 + a30x3 + a03y3 + a31x3y + a13xy3 + a32x3y2 + a23x2y3 + a33x3y3
计算系数 aij 的过程依赖于插值数据的特性。如果已知插值函数的导数,常用的方法就是使用四个顶点的高度以及每个顶点的三个导数。一阶导数 h'x 与 h'y 表示 x 与 y 方向的表面斜率,二阶相互导数 h''xy 表示同时在 x 与 y 方向的斜率。这些值可以通过分别连续对 x 与 y 向量取微分得到。对于网格单元的每个顶点,将局部坐标(0,0, 1,0, 0,1 和 1,1) 带入这些方程,再解这 16 个方程。
PS:
如果你实现了双线性差值算法,相信你实现这个双三次插值也不会很困难。我以前因为考虑到双三次插值的系统开销太大也就放弃了,转而求其次用了双线性插值。
呵呵,考验你高等数学水平的时候了~~
海涵德
2010-05-16
打赏
举报
回复
我想在视频播放时出现的混淆(马赛克)现象应该和插值无关,如果你的插值算法与视频播放有关,也就是说是跟着视频播放动态产生的,那么还会有点关系,但是这已经很复杂了。另外你说的双立方插值算法,我有些搞不懂,在图形学中我只知道spline、bspline或cubic曲线拟合算法等。
iamshuai
2010-05-16
打赏
举报
回复
我也在弄这方面的内容,希望能得到交流
robust2009
2009-01-18
打赏
举报
回复
呵呵,是的。昨天在网上搜索到了matlab的程序,还搜索到了一些论文。但是对于楼上说的工具箱我还真不太了解,有时间会研究一下。
通过这几天的研究,对双立方有了一点认识。但是因为是用硬件来实现,没有软件实现起来那么方便。看了几篇论文,在用硬件实现时基本上是采用一种简
化的算法,简单的说就是采用4个采样点而不是16个采样点。现在对双立方的插值系数还有疑惑,论文里说都是查表方式来完成的。我现在还没有想清楚,
插值系数是如何确定的,跟二次插值一样的吗?明天继续研究一下。
多谢楼上的热心!
Show_Mike
2009-01-17
打赏
举报
回复
双立方算法,建议到matlab工具箱去找,可以很容易地转化为VC.
OpenGL ES2.0 中级篇
巩固OpenGL ES2.0,增加了场景控制,shader光照计算,光照的多种模型,shader雾化计算 shader法线贴图的计算,shader Cartoon效果实现,以及
Spline
,曲线的实现,应用中实现路径动画。
数学建模之一维二维
插值
算法(含matlab源
代码
' m e t h o d ' 表 示 插 值 方 法 : ' n e a r e st'—最邻近
插值
, 'linear'—双线性
插值
,'
spline
'—双三次样条
插值
,'cubi c'—双
立方
插值
,黙认双线性
插值
。xi,yi为被
插值
点, zi为输出的
插值
结果,可理解为
插值
...
数学建模 | MATLAB学习 |
插值
一维
插值
函数、三次样条
插值
1.一维
插值
函数Matlab中有现成的一维
插值
函数interp1,语法为 y=interp1(x0,y0,x,'method')x0,y0是已知的数据向量,其中x应以升序或者降序排列...其值可为 'nearest' 最近项
插值
'linear' 线性
插值
'
spline
' ...
重心有理
插值
matlab,关于MATLAB
插值
(Interpolation)
插值
:在已知数据之间计算估计值的过程。1. 一维
插值
(1D Interpolation)由interp1实现,用多项式技术计算
插值
点。Yi=interp1(x,y,xi,method)y—函数值矢量, x—自变量取值范围,xi—
插值
点的自变量矢量,Method—...
matlab基础 二、函数
插值
其值可为’nearest’最近项
插值
、‘linear’线性
插值
、‘
spline
’
立方
样条
插值
、‘cubic’
立方
插值
。所有的
插值
方法都要求x是单调的。 当x为等距时可以使用快速
插值
法,使用快速
插值
法的为’*nearest’、’*linear’...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章