最近领域和双线性插值法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1 - 河北农业大学 数字图像处理课程设计 基于Matlab的图像放缩技术 院 系: 专业班级: 姓 名: 学 号: 2011年1月8日 摘要 数字图像缩放技术主要基于插值算法。本文在介绍插值算法时首先介绍了最近邻插值、双线性插值算法。图像的双线性插值是图像处理中常用到的一种图像放大方法, 为了更好的研究图像放缩的本质和如何使用双线性插值法。本课程设计着重研究最近邻域和双线性插值法。通过matlab软件对数字图像进行放缩处理 1.设计目标: 利用最近领域和双线性插值法实现图片的放缩功能。 2.设计原理: 2.1最近邻法:它输出的像素灰度值就等于距离它映射到的位置最近的输入像素的灰度值,取离I(i/b,j/a,k)最近的整数点的灰度值为点I(i/b,j/a,k)的灰度值。取最近整数点用四舍五入。在许多情况下,最近邻插值的结果可以令人接受。 2.2双线性插值法:通过已知输入四点灰度内插输出点灰度,令f(x,y)为任意两个变量函数,其在单位正方形顶点的值已知,假设我们希望通过插值得到正方形内任意点的f(x,y)的灰度值,则可由双曲线方程 来定义一个双曲面抛物面与已知四个点拟合。从a到d这四个系数需由已知的四个顶点的f(x,y)灰度值结合。首先,对上端的两个顶点进行线性插值,可得 同理对低端进行线性插值,可得 最后,进行垂直方向的线性插值,可得 将(1)(2)代入(3),展开等式并合并同类项,可得 设计程序流程图: 开始读入图像并计算矩阵大小输入缩放倍数兵输出新图像的矩阵 开始 读入图像并计算矩阵大小 输入缩放倍数兵输出新图像的矩阵 利用双线性公式进行插值 为防止矩阵溢出进行的边界控制 为边界赋值,将黑边去掉 输出图像 结束 开始 读入图像 计算图像的矩阵 输入缩放倍数 定义输出图像的矩阵大小 利用最近邻域法将图像放大 输出图像 结束 最近邻法缩放图像双线性法缩放图像 最近邻法缩放图像 双线性法缩放图像 设计程序(详述,至少添加2/3注释) 最近邻法: I=imread(flower.jpg); [m,n]=size(I); k = str2double(inputdlg(请输入缩放倍数, INPUT scale factor, 1, {})); m1 = k * m; % K为缩放的倍数,确定输出矩阵大小 n1 = k * n; J = uint8(zeros(m1,n1)); %定义输出图像矩阵 for i = 5:m1 - 5 %为防止矩阵溢出而选择的参数5 for j = 5:n1 - 5 x0=i/k; y0=j/k; x = double(round(x0)); y = double(round(y0)); J(i,j)=I(x,y); end end for i=1:5 %为1~5行个点赋值 for j=5:n1-5 J(i,j)=J(6,j); end end for i=m1-5:m1 %为最后五行赋值 for j=5:n1-5 J(i,j)=J(m1-6,j); end end for i=1:m1 %为1~5列赋值 for j=1:5 J(i,j)=J(i,6); end end for i=1:m1 for j=n1-5:n1 %为最后五列赋值 J(i,j)=J(i,n1-6); end end imshow(I); %输出原图像 figure; imshow(J); %输出缩放后图像 双线性插值法: I=imread(flower.jpg); %读入原图像 [m,n]=size(I); K = str2double(inputdlg(输入缩放倍数 (必须在 0.2 - 5.0之间), INPUT scale factor, 1, {})); %输入要放大的倍数注意不要越界 m

文档评论(0)

rovend + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档