图像处理基本实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像处理基本实验
1.
读取并显示一幅tif格式的图像,并将新图像存存储成bmp, png格式并显示出来.
所用图片像素为264x264
I=imread('dog_gray.tif'); % 读取tif图像
[m,n]=size(I) % 显示图像规模
imwrite(I,'dog_gray.bmp');% 图像保存为bmp格式
imwrite(I,'dog_gray.png');% 图像保存为png格式
I1=imread('dog_gray.bmp'); %读取bmp图像
I2=imread('dog_gray.png'); %读取png 图像
subplot(1,3,1),imshow(I);% 在1x3子屏中的第1个子图显示为dog_gray.tif title('dog_gray.tif');% 显示图像标题
subplot(1,3,2),imshow(I1); %在1x3子屏中的第2个子图显示为dog_gray.bmp title('dog_gray.bmp');% 显示图像标题
subplot(1,3,3),imshow(I2); % 在1x3子屏中的第2个子图显示为dog_gray.png title('dog_gray.png');% 显示图像标题
m =
264
n =
264
2
读取一幅RGB 彩色图像,在同一窗口输出原图像及R, G, B 三个分量
图像.
所用图片大小为352x351
RGB=imread('fruits.tif'); %读取图像 [m,n,p]=size(RGB) % 矩阵大小 R=RGB(:,:,1); % 显示R 分量 G=RGB(:,:,2); %显示G 分量 B=RGB(:,:,2); %显示B 分量
subplot(2,2,1),image(RGB); % 在2x2子屏中的第1个子图显示原图 title('原图'); % 显示标题
subplot(2,2,2),image(R); % 在2x2子屏中的第2个子图显示R 分量图像
dog g ray.tif dog g ray.bmp dog g ray.png
title('R 分量'); % 显示标题
subplot(2,2,3),image(G); % 在2x2子屏中的第3个子图显示G 分量图像 title('G 分量'); % 显示标题
subplot(2,2,4),image(B); % 在2x2子屏中的第4个子图显示B 分量图像 title('B 分量'); % 显示标题
m = 352 n = 351 p = 3
3 & 4
读取一幅RGB 彩色图像,将其转换为灰度图像保存为tif 格式,并在同一窗口显示原图
100
200300
100200300
100
200300
100200300
100
200
300
100200300
100
200
300
100200300
像与灰度图像.
将4中得到灰度图像转化为二值图像,并对其进行取反操作,在同一窗口显示灰度图
所用图像像素为264x352
RGB=imread('flower-0170.jpg'); % 读取图像
[m,n,p]=size(RGB) %矩阵大小
I=rgb2gray(RGB); % 真彩色图像转换为灰度图像
I1=im2bw(I); % 灰色图像二值画
I2=~I1; %对二值图像取反
imwrite(I,'flower-0170.tif') % 将图像保存为tif格式
subplot(1,2,1),imshow(RGB);%在1x2子屏的第1个子屏中显示原图
title('flower-0170.jpg'); %显示标题
subplot(1,2,2),imshow(I); % 在1x2子屏的第1个子屏中显示灰度图像
title('flower-0170.tif'); %显示标题
figure % 新建个图形窗口
subplot(1,3,1),imshow(I); %在1x3子屏的第1个子屏中显示灰度图像
subplot(1,3,2),imshow(I1); %在1x3子屏的第2个子屏中显示二值图像
subplot(1,3,3),imshow(I2); %在1x3子屏的第3个子屏中显示二值图像取反后的图像
m =
264
n =
352
p =
3
flower-0170.jpg flower-0170.tif
5
读取两幅图像,进行加,减,乘,除运算,并显示原图像与运算结果.
所用图片像素为512x512
I1=imread('baboon.tif'); % 读取图像
I2=imread('barbara.tif'); % 读取图像
[m1,n1]=size(I1)% I1的大小
[m2,n2]=size(I2) % I2的大小
ADD=imadd(I1,I2); %两个图像相加
SUB=imsubtract(I1,I2);%两个图像相减
MUL=immultiply(I1,I1);%两个图像相乘
DIV=imdivide(I1,I2);%两个图像相除
subplot(2,3,1),imshow(I1); %在2x3子屏的第1个子屏中显示baboon.tif title('baboon.tif');
subplot(2,3,2),imshow(I2); %在2x3子屏的第2个子屏中显示barbara.tif title('barbara.tif');
subplot(2,3,3),imshow(ADD); %在2x3子屏的第3个子屏中显示ADD
title('ADD图像');
subplot(2,3,4),imshow(SUB); %在2x3子屏的第4个子屏中显示SUB
title('SUB图像');
subplot(2,3,5),imshow(MUL); %在2x3子屏的第5个子屏中显示MUL
title('MUL图像');
subplot(2,3,6),imshow(DIV); %在2x3子屏的第6个子屏中显示DIV
title('DIV图像');
m1 =
512
n1 =
512
m2 =
512
n2 =
512