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

Matlab简单图像运算实例

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

一、实验目的

1、了解图像运算的意义和手段;
2、熟练掌握图像的代数运算和几何运算方法;
3、掌握图像各类噪声的添加及消除噪声的方法;
4、比较经过各个运算后图像之间的变化;

二、实验任务

实验要求设计一个程序完成下列要求:
1、读入两幅图像,完成基本代数运算,并显示各次运算的结果图像;
2、给某幅图像加入椒盐噪声后并与前一张图显示在同一图像对话框中;
3、运用for循环,将100幅加有噪声的图像进行相加并求其平均值,显示求平均后图像。
4、将图像分别放大1.5倍和缩小0.8倍,插值方法使用双线性插值法。将图像顺时针旋转45度,显示旋转后的图像。
5、设计实验步骤,完成实验报告。

三、实验内容

Matlab源程序如下:

clear
clc
I1=imread('rice.png');
I2=imread('testpat1.png');
I1=im2double(I1);
I2=im2double(I2);
Add=imadd(I1,I2);         %图像加运算
Sub=imsubtract(I1,I2);    %图像减运算
Mul=immultiply(I1,I2);    %图像乘运算
Div=imdivide(I1,I2);      %图像除运算
Abs=imabsdiff(I1,I2);     %图像差的绝对值运算
Com=imcomplement(I1);     %图像补运算
figure(1);
subplot(2,4,1);imshow(I1);title('原图1');
subplot(2,4,2);imshow(I2);title('原图2');
subplot(2,4,3);imshow(Add,[]);title('图像加运算');
subplot(2,4,4);imshow(Sub,[]);title('图像减运算');
subplot(2,4,5);imshow(Mul,[]);title('图像乘运算');
subplot(2,4,6);imshow(Div,[]);title('图像除运算');
subplot(2,4,7);imshow(Abs,[]);title('图像差的绝对值运算');
subplot(2,4,8);imshow(Com,[]);title('图像1的补运算');
Noi=imnoise(I1,'salt & pepper');
figure(2);
subplot(1,3,1);imshow(I1);title('原图1');
subplot(1,3,2);imshow(Noi);title('加入椒盐噪声后的图1');
N1=zeros(256,256);
for i=1:100    %将图像加噪声再通过多次相加求平均的方法祛除噪声
    Noi1=imnoise(I1,'salt & pepper');
    N2=im2double(Noi1);
    N1=N1+N2;
end
N3=N1/100;
subplot(1,3,3);imshow(N3);title('相加求平均的图像');
M1=imresize(I2,1.5,'bilinear');
M2=imresize(I2,0.8,'bilinear');
M11=imrotate(M1,-45,'bilinear');
M22=imrotate(M2,-45,'bilinear');
figure(3);
subplot(1,3,1);imshow(I2);title('原图');
subplot(1,3,2);imshow(M11);title('放大1.5倍并顺时针旋转45°');
subplot(1,3,3);imshow(M22);title('缩小0.8倍并顺时针旋转45°');

四、实验结果

在Figure1中显示了8幅图像,其中第一行从左至右依次是:原图1、原图2、两图像加运算后的图像、两图像减运算后的图像;第二行从左至右依次是:两图像乘运算后的图像、两图像除运算后的图像、两图像的差的绝对值图像、原图1的补运算图像。
在Figure2中显示了3幅图像,从左至右依次是:原图像、在原图像上加入椒盐噪声后的图像、将100幅加有噪声的图像进行相加并求其平均值。
在Figure3中显示了3幅图像,从左至右依次是:原图像、放大1.5倍并顺时针旋转45°、缩小0.8倍并顺时针旋转45°。

图1 程序运行结果图像1

图2 程序运行结果图像2


图3 程序运行结果图像3

五、实验过程的思考

1、关于图像代数运算:
图像的代数运算实质上是图像像素间的操作,所以就要求两幅图像类型和尺寸一致,在选择图像时不能只看其大小,有时可能会遇到二值图像。此时也可使用im2double函数将两幅图像类型化为一致。
2、关于将图像加噪声再通过多次相加求平均的方法消除噪声:
在程序中使用了for循环100次给图像加入椒盐噪声,然后用求平均的方法消除了噪声。如果把添加噪声的函数放在循环之外则不会产生这样的效果,此时相当于对同一数组的数据相加100次再求平均,数组数据并不会发生变化。同时要注意加入噪声后要使用im2double将图像矩阵化为double型,因为普通代数运算要求的是双精度型。

更多函数信息可参考matlab官网 MATLAB-函数


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Delphi XE10 开发DataSnap服务端驱动问题解决发布时间:2022-07-18
下一篇:
Delphi-关于错误E1038Unitidentifier'%s'doesnotmatchfilename发布时间: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