• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB图像放大/缩小,双线性插值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

半年前写过matlab最邻近插值的图像缩放,没怎么考虑边界问题。更早之前用Opencv写过双线性插值图像放大,不过写的比较混乱。所以这里用matlab重新再清楚的写一遍。

 1 close all;
 2 clear all;
 3 clc;
 4 
 5 m=1.8;              %放大或缩小的高度
 6 n=2.3;              %放大或缩小的宽度
 7 img=imread('lena.jpg');
 8 imshow(img);
 9 [h w]=size(img);
10 imgn=zeros(h*m,w*n);
11 rot=[m 0 0;0 n 0;0 0 1];                                   %变换矩阵for i=1:h*m
12     for j=1:w*n
13         pix=[i j 1]/rot;   
14         
15         float_Y=pix(1)-floor(pix(1)); 
16         float_X=pix(2)-floor(pix(2));
17        
18         if pix(1) < 1        %边界处理
19             pix(1) = 1;
20         end
21         
22         if pix(1) > h
23             pix(1) = h;
24         end
25         
26         if pix(2) < 1
27             pix(2) =1;
28         end
29         
30         if pix(2) > w
31             pix(2) =w;
32         end
33         
34         pix_up_left=[floor(pix(1)) floor(pix(2))];    %四个相邻的点
35         pix_up_right=[floor(pix(1)) ceil(pix(2))];
36         pix_down_left=[ceil(pix(1)) floor(pix(2))];
37         pix_down_right=[ceil(pix(1)) ceil(pix(2))];     
38     
39         value_up_left=(1-float_X)*(1-float_Y);      %计算临近四个点的权重
40         value_up_right=float_X*(1-float_Y);
41         value_down_left=(1-float_X)*float_Y;
42         value_down_right=float_X*float_Y;
43                                     %按权重进行双线性插值
44         imgn(i,j)=value_up_left*img(pix_up_left(1),pix_up_left(2))+ ...
45                   value_up_right*img(pix_up_right(1),pix_up_right(2))+ ...
46                   value_down_left*img(pix_down_left(1),pix_down_left(2))+ ...
47                   value_down_right*img(pix_down_right(1),pix_down_right(2));        
48     end
49 end
50 
51 figure,imshow(uint8(imgn))

原图

 放大后的。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi网络摄像头简单程序发布时间:2022-07-18
下一篇:
Delphi通过OLE对word进行单元格合并操作发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap