- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一.问题的叙述
插值是一种最基本、最常用的几何运算。尤其随着多媒体技术的发展以及大屏幕的图像显示,以及生物医学领域的发展,图像放大的重要性也越来越明显。它不仅应用广泛, 而且插值的精度直接影响最终的图像处理结果,在图像处理软件中对图像进行缩放时,插值算法的好坏直接关系到图像的失真程序, 插值函数的设计是插值算法的核心问题。常采用三种插值算法: 最近邻点插值、双线性插值和双三次插值, 其中双三次插值的效果最好, 而且这一结论也得到了普遍的公认。本文对该三种算法进行了分析并通过matlab编程实现了算法。
二.二维图像插值技术
2.1 最邻近插值法
最邻近插值又称为像素重复放大法。它是一种最简单也是最原始的图像
插值放大,它的基本原理是用原始像素直接对插值点像素用原始像素填充。
最近邻点插值又称零阶插值, 它输出的像素值等于距离它映射到的位置最近的输入像素值。对于二维图像, 该法是"取待采样点周围4 个相邻像素点中距离最近的1 个邻点的灰度值作为该点的灰度值。插值公式:
(1)
其中i、j均为非负整数, u、v 为[0,1)区间的浮点数,一般可取0.5, f(i,j)表示源图像(i,j)处的的像素值。
2.2双线性插值法
二元函数的线性插值方法是一元函数线性插值方法的直接推广,将一维空间中的线段推广为二维空间中的矩形,由此产生二维线性插值。已知平面上一矩形域内四个定点P1,P2,P3,P4处的函数值为:
,
,
令 , 由此构造基函数:
,
,
所以有差值函数为
(2)
2.3 双三次差值法
对于灰度变化复杂的图像,不能简单的采用线性插值。可以采用多项式插值技术对数据点做多项式插值,不仅考虑到四个直接邻点灰度值的影响, 还考虑到各邻点间灰度值变化率的影响", 利用了待采样点周围更大邻域内像素的灰度值作三次插值。多项式插值如下:。需用n+1个数据点来建立方程组,求出系数的值。
用公式表达为:
(4)
定义
f(i+u,j+v) = [A] * [B] * [C]
三.算法实现:
3.1 最邻近插值法:
clc;
clear;
%function y=resize(a,K)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%I:输入图像
%K:缩放倍数
%type:1表示最邻近法,2表示双极性插值法
%画出缩放后图像并返回其灰度值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I=imread('girl.bmp');%读入图像
I=rgb2gray(I);
K=3;
[m,n]=size(I);
m1=m*K;n1=n*K;
%
for i=1:m1
for j=1:n1
tic %计算插值所用的时间
u=round(i/K); %取最邻近值
v=round(j/K);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if u<=0 %避免取近似值时超过图像的边界
u=1;
end
if v<=0
v=1;
end
if u>=m1
u=m1;
end
if v>=n1
v=n1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
b(i,j)=I(u,v); %为新的图像赋值
end
end
toc
imshow(b);
title('缩放后图像');
3.2 双线性插值关键部分程序:
%双线性插值
function M=s1(x,y,nrows,ncols,K,I)
% K表示放大倍数
width = K * nrows;
height = K * ncols;
widthScale = nrows/width;
heightScale = ncols/height;
% xx ,yy 表示当前像素点在源图像中的坐标,x,y表示在插值图像中的坐标
xx = x * widthScale;
yy = y * heightScale;
if (xx=
1亿VIP精品文档
相关文档
最近下载
- 2023年全国共青团党团入团知识竞赛题库(含答案).pdf VIP
- 深圳证券交易所营运中心钢结构工程“钢结构金奖”及“鲁班奖”创优方案.doc
- 2024年烟草制品购销职业技能竞赛备考试题库资料大全(含答案).pdf
- G-枸橼酸他莫昔芬片 扬子江药业 说明书.doc
- 初级会计实务模拟卷含答案.doc VIP
- 食品的感官检验—感官检验的概念、因素(食品检测技术课件).pptx
- 2024-2024学年数学三年级下册期中考试卷(一)人教版含答案 .pdf VIP
- 两客一危解决方案.ppt
- 化工总控工考试题库含答案2023.docx
- 五下第二单元《走进中国古典名著》整组单元设计2小学语文人教部编版(新)五年级下册.docx
文档评论(0)