双线性内插法

合集下载

图像缩放算法及速度优化——(二)双线性插值

图像缩放算法及速度优化——(二)双线性插值

图像缩放算法及速度优化——(⼆)双线性插值 双线性插值作为OpenCV中默认使⽤的图像缩放算法,其效果和速度都是不错的。

并且效果也⽐较稳定,计算复杂度并不算太⾼。

我看了很多⽹上的算法,⾃⼰也没看太懂,下⾯是从⽹上找的双线性插值算法的讲解。

“图像的双线性插值放⼤算法中,⽬标图像中新创造的象素值,是由源图像位置在它附近的2*2区域4个邻近象素的值通过加权平均计算得出的。

双线性内插值算法放⼤后的图像质量较⾼,不会出现像素值不连续的的情况。

然⽽次算法具有低通滤波器的性质,使⾼频分量受损,所以可能会使图像轮廓在⼀定程度上变得模糊。

” 下⾯还是根据我⾃⼰的理解来继续讲述吧,相信读者中有很多⾼⼿,希望读者能给予我指点⼀下,让我也能更明⽩⼀些。

双线性插值算法和最近邻插值算法⽐较类似。

在最近邻插值算法中,⽬标图像中的某个点(x,y)是去源图像中找最邻近的⼀个点(x0, y0)即可。

⽬标图像中的点(x, y)对应于源图像中的点(x0',y0'),x0'、y0'很可能不是整数,⽽是⼩数,⽽最近邻插值算法是找其邻近整型值(int(x0'+0.5f),int(y0'+0.5f))(上篇⽂章中没有进⾏四舍五⼊)。

我们现在找x0', y0'所在位置旁边的四个点,根据这四个点与(x0',y0')距离的关系计算⽬标图像中(x,y)⼀点的像素值。

算法描述如下:(1)计算源图像与⽬标图像宽与⾼的⽐例w0 : 表⽰源图像的宽度h0 : 表⽰源图像的⾼度w1 : 表⽰⽬标图像的宽度h1 : 表⽰⽬标图像的⾼度float fw = float(w0-1)/(w1-1);float fh = float(h0-1)/(h1-1);(2)针对⽬标图像的⼀个点(x, y),计算在源图像中的对应坐标,结果为浮点数。

float x0 = x * fw;float y0 = y * fh;int x1 = int(x0);int x2 = x1 + 1;int y1 = int(y0);int y2 = y1+1;所求的源图像中的四个点坐标为(x1, y1) (x1, y2) (x2, y1) (x2,y2)(3)求周围四个点所占的权重⽐值如上图,fx1 = x0 - x1;fx2 = 1.0f - fx1;fy1 = y0 - y1;fy2 = 1.0f - fy1;float s1 = fx1*fy1;float s2 = fx2*fy1;float s3 = fx2*fy2;float s4 = fx1*fy2;我们以value(坐标)来代表取得此点的坐标值,则:value(x0,y0) = value(x2,y2)*s1+value(x1,y2)*s2+value(x1,y1)*s3+value(x2,y1)*s4;如果对上述运算不够明⽩的话,可以这样来求。

视频图像处理基础知识0(双线性插值算法进行图像缩放)【转】

视频图像处理基础知识0(双线性插值算法进行图像缩放)【转】

⽬录1.2. 视频图像处理基础知识0(双线性插值算法进⾏图像缩放)【转】版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。

(说的很明⽩)双线性插值,这个名字咋⼀听很⾼⼤上的样纸,再在维基百科上⼀查(见⽂末,我去,⼀堆的公式吓死⼈),像俺这种半⽂盲,看到公式脑⼦就懵的类型,真⼼给跪。

虽然看着好复杂,但仔细⼀看道理再简单不过了,所以还是⾃⼰梳理⼀下好。

双线性插值,顾名思义就是两个⽅向的线性插值加起来(这解释过于简单粗暴,哈哈)。

所以只要了解什么是线性插值,分别在x 轴和y 轴都做⼀遍,就是双线性插值了。

线性插值的概念也⾮常简单粗暴,就是两个点A ,B ,要在AB 中间插⼊⼀个点C (点C 坐标在AB 连线上),就直接让C 的值落在AB 的值的连线上就可以了。

如A 点坐标(0,0),值为3,B 点坐标(0,2),值为5,那要对坐标为(0,1)的点C 进⾏插值,就让C 落在AB 线上,值为4就可以了。

但是如果C 不在AB 的线上肿么办捏,所以就有了双线性插值。

如图,已知Q12,Q22,Q11,Q21,但是要插值的点为P 点,这就要⽤双线性插值了,⾸先在x 轴⽅向上,对R1和R2两个点进⾏插值,这个很简单,然后根据R1和R2对P 点进⾏插值,这就是所谓的双线性插值。

附:维基百科--双线性插值:双线性插值,⼜称为双线性内插。

在上,双线性插值是有两个变量的函数的扩展,其核⼼思想是在两个⽅向分别进⾏⼀次线性插值。

假如我们想得到未知函数 在点的值,假设我们已知函数在 ,, , 及四个点的值。

⾸先在 x ⽅向进⾏线性插值,得到然后在 y⽅向进⾏线性插值,得到这样就得到所要的结果 ,如果选择⼀个坐标系统使得的四个已知点坐标分别为 (0, 0)、(0, 1)、(1, 0) 和 (1, 1),那么插值公式就可以化简为或者⽤运算表⽰为与这种插值⽅法名称不同的是,这种插值⽅法的结果通常不是线性的,它的形式是常数的数⽬都对应于给定的 f 的数据点数⽬线性插值的结果与插值的顺序⽆关。

2016新编使用双线性插值进行图像放大的实现

2016新编使用双线性插值进行图像放大的实现

使用双线性插值进行图像放大的实现一、总体设计思路Step 1:实现图像的打开、显示、保存,在打开图片之后将图片读入内存并获得了该图像除文件头以外的部分在缓存内存储的句柄,以及该图的调色板,调色板颜色种类数等等参数。

Step 2:在显示的基础上,利用代码根据放大比例重新开辟一个缓存。

将原图的BITMAPINFOHEADER拷贝过来。

并修改biHeight、biWidth、biSizeImage等参数。

Step 3:利用双线性插值算法,以原图信息为基础生成新的像素信息。

原理:双线性插值维基百科,自由的百科全书跳转到:导航, 搜索双线性插值,又称为双线性内插。

在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。

红色的数据点与待插值得到的绿色点假如我们想得到未知函数在点的值,假设我们已知函数在, , , 及四个点的值。

首先在x方向进行线性插值,得到然后在y方向进行线性插值,得到这样就得到所要的结果,如果选择一个坐标系统使得的四个已知点坐标分别为(0, 0)、(0, 1)、(1, 0) 和(1, 1),那么插值公式就可以化简为或者用矩阵运算表示为与这种插值方法名称不同的是,这种插值方法并不是线性的,它的形式是它是两个线性函数的乘积。

另外,插值也可以表示为在这两种情况下,常数的数目都对应于给定的f的数据点数目。

线性插值的结果与插值的顺序无关。

首先进行y方向的插值,然后进行x方向的插值,所得到的结果是一样的。

双线性插值的一个显然的三维空间延伸是三线性插值。

二、具体实现方案及细节1、需要改变的项:①BITMAPINFOHEADER里的biHeight、biWidth、biSizeImage。

②所有像素点信息2、具体方案的设计:①对双线性插值的理解:放大图像时,插值就是根据比例得到一个坐标(x,y)。

该坐标可分为四种情况:(1)得到的x和y都是整数且落在原图中,则直接取出该像素点的颜色信息即可。

基于双线性内插值的CD雷达垂直剖面算法

基于双线性内插值的CD雷达垂直剖面算法

1 引言
目前 , 新一 代 多普 勒 天 气 雷 达在 天 气 预 报 业 务
中得 到 了广 泛 的 应 用 , 要 针 对 灾 害 性 天 气 , 别 主 特 是短 时强 降 水 、 雨 大 风 、 雹 等 灾 害 性 天 气 的监 雷 冰
7 c
£ c 5 0
7. l. 9 0 9 。 46 . o 5 。 9


代多普 勒天气 雷 达 ( 以下 简 称 C D雷 达 ) 目前 没 剖 面分 析 软 件 ,
2 。
而业务 工作 又急需 实现 贵州 C D雷 达反 射 率 因子 垂 直 剖面 分析及 高质 量 图像 的显示 应用 。
本 文针对 贵 州 C D雷达 反射 率 因子 , 用 C 编 采 样
1 0
O 0 .。 5
程 , 坐标转 换 后 处 理 成 三 维 网格 数 据 , 现 任 意 经 实 方 向垂 直剖 面分析 , 用 双 线 性 内插值 法 解 决 垂 直 利
剖 面图像 显示 放大 且 不失 真 的现 象 , 合 贵 阳雷 达 结
e e
2 O



1 c e
2 C
 ̄ f ̄ a 1∈ 3Z' 3 m l M
分析 双 线 性 内 插 值 法 在 雷 达 垂 直 剖 面 图 像 中 的
应用 。
图 1 V P 1体 扫 模 式 C2
2 C D雷 达 反 射 率 因子 分 析 处 理
2 1 极坐标 下 C . D雷 达反射 率 因子转 换为 三维 网
本方 法在 垂直 方 向取 2 K 分 辨 率 为 0 5 m, 0 m, .K
水平 方 向取 30 m, 0 K 分辨 率为 1 m 的三维 数据矩 阵 K

图像的上采样(upsampling)与下采样(subsampled)

图像的上采样(upsampling)与下采样(subsampled)

图像的上采样(upsampling)与下采样(subsampled)缩⼩图像(或称为下采样(subsampled)或降采样(downsampled))的主要⽬的有两个:1、使得图像符合显⽰区域的⼤⼩;2、⽣成对应图像的缩略图。

放⼤图像(或称为上采样(upsampling)或图像插值(interpolating))的主要⽬的是放⼤原图像,从⽽可以显⽰在更⾼分辨率的显⽰设备上。

对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。

然⽽,确实有⼀些缩放⽅法能够增加图像的信息,从⽽使得缩放后的图像质量超过原图质量的。

下采样原理:对于⼀幅图像I尺⼨为M*N,对其进⾏s倍下采样,即得到(M/s)*(N/s)尺⼨的得分辨率图像,当然s应该是M和N 的公约数才⾏,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗⼝内的图像变成⼀个像素,这个像素点的值就是窗⼝内所有像素的均值:上采样原理:图像放⼤⼏乎都是采⽤内插值⽅法,即在原有图像像素的基础上在像素点之间采⽤合适的插值算法插⼊新的元素。

⽆论缩放图像(下采样)还是放⼤图像(上采样),采样⽅式有很多种。

如最近邻插值,双线性插值,均值插值,中值插值等⽅法。

在AlexNet中就使⽤了较合适的插值⽅法。

各种插值⽅法都有各⾃的优缺点。

常⽤的插值⽅法1、最邻近元法这是最简单的⼀种插值⽅法,不需要计算,在待求象素的四邻象素中,将距离待求象素最近的邻象素灰度赋给待求象素。

设i+u, j+v(i, j为正整数,u, v为⼤于零⼩于1的⼩数,下同)为待求象素坐标,则待求象素灰度的值 f(i+u, j+v) 如下图所⽰:如果(i+u, j+v)落在A区,即u<0.5, v<0.5,则将左上⾓象素的灰度值赋给待求象素,同理,落在B区则赋予右上⾓的象素灰度值,落在C区则赋予左下⾓象素的灰度值,落在D区则赋予右下⾓象素的灰度值。

最邻近元法计算量较⼩,但可能会造成插值⽣成的图像灰度上的不连续,在灰度变化的地⽅可能出现明显的锯齿状。

重采样

重采样

ENVI中重采样的三种方法优劣比较:重采样:由于输出图像的像元点在输入图像中的行列号不是或不全是整数关系,所以需要根据输出图像上的各像元在输入图像中的位置,对原始图像按一定规则重新采样,进行亮度值的插值运算,建立新的图像矩阵.最邻近法: 将最邻近的像元值赋予新像元.优点:不引入新的像元值,适合分类前使用;有利于区分植被类型,确定湖泊浑浊程度,温度等;计算简单,速度快。

缺点:最大可产生半个像元的位置偏移,改变了像元值的几何连续性,原图中某些线状特征会被扭曲或变粗成块状。

双线性内插法: 使用邻近4 个点的像元值,按照其据内插点的距离赋予不同的权重,进行线性内插.优点: 图像平滑,无台阶现象。

线状特征的块状化现象减少;空间位置精度更高。

缺点: 像元被平均,有低频卷积滤波效果,破坏了原来的像元值,在波谱识别分类分析中,会引起一些问题。

边缘被平滑,不利于边缘检测。

三次卷积内插法: 使用内插点周围的16 个像元值,用三次卷积函数进行内插.优点: 高频信息损失少,可将噪声平滑,对边缘有所增强,具有均衡化和清晰化的效果。

缺点: 破坏了原来的像元值,计算量大.内插方法的选择除了考虑图像的显示要求及计算量外,在做分类时还要考虑内插结果对分类的影响,特别是当纹理信息为分类的主要信息时。

研究表明,最近邻采样将严重改变原图像的纹理信息。

因此,当纹理信息为分类主要信息时,不宜选用最近邻采样。

双线性内插及三次卷积内插将减少图像异质性,增加图像同构型,其中,双线性内插方法使这种变化更为明显。

昨天同学问我,1:25W的影像怎么弄成1:50W,我感觉应该是重采样吧,缩小一倍就可以了,其实这个步骤也很简单,打开ENVI,单击主菜单的第二个“Basic Tools”--“Resize Data (Spatial/Spectral)”此时会弹出“Resize Data Input File”对话框如图,之后选中需要重采样的图像(影像可以之前打开,也可以在'Open'--'New File'中打开),单击“OK”会弹出“Resize Data Paramcters”对话框,如图编号1设置影像的分辨率,2是重采样模型,3设置保存的路径和名称,当然可以选择Memory,单击“OK”等待就可以了。

双线性内插公式推导及在岩土工程中的应用

双线性内插公式推导及在岩土工程中的应用

双线性内插公式推导及在岩土工程中的应用
张理根
【期刊名称】《城市建筑》
【年(卷),期】2014(000)029
【摘要】双线性内插在地基沉降计算、标贯锤击数修正等岩土工程问题的查表求解过程中经常用到。

通常做法是:运用三次线性内插来实现。

文章推导出了双线性内插公式,在解决查表内插等类似问题时,代入相关数据后进行计算即可。

【总页数】2页(P207-207,212)
【作者】张理根
【作者单位】东莞市建青岩土检测有限公司,东莞523112
【正文语种】中文
【相关文献】
1.GM(1,1)模型背景值构造中参数n的公式推导及其应用 [J], 李凯;魏勇
2.地电成像法在岩土工程勘察中的应用——以西虎岭景区岩土工程勘察为例 [J], 李军;常利敏;邓小宁;李靖辉
3.基于双线性内插算法在水深断面测量中的应用 [J], 张伟;孙伯娜
4.张量分析中简化记法在公式推导中的应用及张量分量的计算 [J], 史姣;王正中;蔡坤
5.局部双线性内插法构建DEM数据模型在水土保持设计中的应用 [J], 杨雪峰;徐汉超;范鹏
因版权原因,仅展示原文概要,查看原文内容请购买。

线性内插法

线性内插法

线性内插法是指两个量之间如果存在线性关系,若A(X1,Y1),B(X2,Y2)为这条直
线上的两个点,已知另一点P 的Y0 值,那么利用他们的线性关系即可求得P 点的对应值X0。

通常应用的
是点P 位于点A、B 之间,故称“线性内插法”。

在求解X0 时,可以根据下面方程计算:
(X0- X1)/(X2 - X1)= (Y0- Y1)/(Y2 - Y1)。

在具体应用中,关键是要搞清楚6 个量X1,Y1,X2,Y2,X0,Y0 之间的关系。

(1)“内插法”的原理是根据等比关系建立一个方程,然后解方程计算得出所要求的数据。

(2)仔细观察方程会看出一个特点,即相对应的数据在等式两方的位置相同。

例如:X1 位于等式左方
表达式的分子和分母的右侧,与其对应的数字Y1 应位于等式右方的表达式的分子和分母的右侧。

(3)应该注意的是,如果对X1 和X2 的数值进行交换,则必须同时对Y1 和Y2 的数值也交换,否则,计
算结果一定不正确。

总的原则是直线上任意两点间的变量X 差值之比应等于对应的变量Y 的差值之比。

内插法在财务管理[2,3],投资决策[4- 6],古代历法[7]等领域都有广泛的应用.
举个例子,已知X1=1时Y1=3,X3=3时Y3=9,那么x=2时用线性插值得到y就是3和9的算术平均数6。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档