admin管理员组

文章数量:815885

数字图像处理实验一

一、实验目的

1.了解 MATLAB图像处理工具箱函数中的基本功能及操作方法。
2.掌握MATLAB中图像读写和显示函数的使用方法。
3.掌握如何利用MATLAB函数获取图像大小、颜色、高度、宽度等信息。
4.熟悉常用的图像类型的相互转换。

二、实验内容和步骤

1.利用imread()函数分别读入图像trees.tif和ngc6543a.jpg,存入两个数组中,用“whos”命令获取图像的基本信息。
实验代码:

clear all;
A = imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\trees.tif");
B = imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\ngc6543a.jpg");
whos A;
whos B;

实验结果:

2.利用imwrite()函数将图像trees.tif压缩,将其保存为一幅压缩了像素的jpg文件, 图像名为为trees1.jpg;
实验代码:

clear all;
A = imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\trees.tif");
imwrite(A,'C:\Users\25023\Desktop\图像识别文件\实验一图像\trees1.jpg');

实验结果:

3.命令窗口利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息。
实验代码:

clear all;
info=imfinfo('C:\Users\25023\Desktop\图像识别文件\实验一图像\trees1.jpg');
info

实验结果:

4.在4个不同的图像窗口中显示任意4幅不同图像类型(二值、索引、灰度、真彩色)的图像。
实验代码:

clear all;
I=imread('C:\Users\25023\Desktop\图像识别文件\实验一图像\onion.png');  
figure(1);
I1 = im2bw(I);    %二值类型的图像
imshow(I1);
figure(2);
imshow(I);
figure(3);
I3 = rgb2gray(I)
imshow(I3);     %灰度
figure(4);
imshow (gray2ind(I));

实验结果:

5.分别用imread和load命令读入两幅不同的图像,并排显示在同一图像窗口。
实验代码:

clear all;
E = imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\trees.tif");
subplot(1,2,1);
image(E);
subplot(1,2,2);
load('C:\Users\25023\Desktop\图像识别文件\代码文件\matlab.mat');
image(K);

实验结果:

6.利用imshow()函数来显示图像trees.tif,要求先转化为rgb图像,分别显示每个通道,然后合并再显示)
实验代码:

clear all;
[X,map]=imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\trees.tif");
RGB=ind2rgb(X,map);
imwrite(RGB,'C:\Users\25023\Desktop\图像识别文件\实验一图像\tress.jpg')
R = RGB(:,:,1);
G = RGB(:,:,2);
B = RGB(:,:,3);
figure;
imshow(R);
figure;
imshow(G);
figure;
imshow(B);
figure;
imshow(RGB);

实验结果:

7.用ind2gray()将一幅索引图像trees.tif转化为灰度图像,并且用imshow显示出来观察图像的特征。
实验代码:

clear all;
[X,map]=imread('C:\Users\25023\Desktop\图像识别文件\实验一图像\trees.tif');
G1=ind2gray(X,map);
figure;
imshow(G1);

实验结果:

8.用im2bw()将一幅灰度图像camema.jpg转化为二值图像,并且用imshow显示出来观察图像的特征。
实验代码:

clear all;
B=imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\cameraman.jpg");
B2=im2bw(B);
imshow(B2);

实验结果:

9.用rgb2ind()将真彩色图像onion.png转化为索引图像,用imshow显示出来,并读取出两种图像的数据,观察图像的特征。
实验代码:

clear all;
C=imread("C:\Users\25023\Desktop\图像识别文件\实验一图像\onion.png");
[X,map] = rgb2ind(C,32);
figure;
imshow(C);
figure;
imshow(X,map);

实验结果:

10.读入并在同一窗口显示27帧索引图像阵列“mri.mat”,并在单独窗口显示第6、10、20帧图像。
实验代码:

clear all;
mri=uint8(zeros(128,128,1,27)); % 27帧文件mri.tif初始化for frame=1:27
[mri(:,:,:,frame),map]=imread('C:\Users\25023\Desktop\图像识别文件\实验一图像\mri.tif',frame); % 读入每一帧
end
figure,imshow(mri(:,:,:,6),map);
figure,imshow(mri(:,:,:,10),map);
figure,imshow(mri(:,:,:,20),map); 
figure;
montage(mri,map);

实验结果:

11.制作并显示一个动态图。
实验代码:

clear all;
mri=uint8(zeros(128,128,1,27)); 
for frame=1:27
[mri(:,:,:,frame),map]=imread('C:\Users\25023\Desktop\图像识别文件\实验一图像\mri.tif',frame); 
end
figure;
hold on;
for frame=1:27
hold on;imshow(mri(:,:,:,frame),map);
pause(0.1)
end

实验结果:

本文标签: 数字图像处理实验一