实验结果分析如下:
3.图像水平镜象
clear all, close all
I = imread('cameraman.tif'); I1 = flipdim(I,2); I2 = flipdim(I,1);
figure(1), subplot(1,2,1), imshow(I); subplot(1,2,2), imshow(I1);
figure(2), subplot(2,1,1), imshow(I); subplot(2,1,2), imshow(I2); 执行程序,所得结果如下:
对实验结果分析如下:
(二)用MATLAB编程实现以下图像几何变换
1.图像平移
程序代码如下: clc,clear all;
I = imread('cameraman.tif'); rows=size(I,1); cols=size(I,2);
movx=50;movy=50; for i=1:rows for j=1:cols
Q(i+movx,j+movy)=I(i,j); end end
figure(1);
subplot(121);imshow(I);title('origine picture'); subplot(122);imshow(Q);title('modified picture'); 执行程序结果如下:
实验分析如下:
2.图像转置
图像的转置是将给定图像像素的x坐标和y坐标互换的几何变换,设点P0(x0, y0) 转置后的对应点为P(x, y),转置变换可表述为:
?x?y0 或 ??y?x0?x0?y ?y?x?0?x??010??x0??x0??010??x??y???100??y???????,对应的逆变换为:y0?100y 或 0???????????????1????001????1???1????001????1??转置后图像的宽、高发生改变,即输出图像的高度为原始图像的宽度,输出
图像的宽度为原始图像的高度。
程序代码如下: clc,clear all;
I = imread('cameraman.tif'); rows=size(I,1); cols=size(I,2); for i=1:rows for j=1:cols Q(j,i)=I(i,j); end end
size(I),size(Q) figure(1);
subplot(121);imshow(I);title('origine picture'); subplot(122);imshow(Q);title('modified picture'); 执行程序,所得结果如下:
实验分析如下:
三、实验设备
1.PIII以上微机; 2.MATLAB6.5;
四、实验心得与体会
实验四 图像形态学处理
一.实验目的及要求
1.利用MATLAB研究二值形态学图像处理常用算法;
2.掌握MATLAB形态学图像处理基本操作函数的使用方法; 3.了了解形态学的基本应用。
二、实验内容
(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
1.膨胀与腐蚀(Dilation and Erosion)
(1)对简单二值图像进行膨胀与腐蚀 clear all, close all
BW = zeros(9,10); BW(4:6,4:7) = 1; BW;
SE = strel('square',3) BW1 = imdilate(BW,SE) BW2 = imerode (BW,SE) figure(1),
subplot(1,2,1), imshow(BW,'notruesize'), title(' Original Image '); subplot(1,2,2), imshow(BW1,'notruesize'), title(' Dilated Image '); figure(2),
subplot(1,2,1), imshow(BW,'notruesize'), title(' Original Image '); subplot(1,2,2), imshow(BW2,'notruesize'), title(' Eroded Image ');
执行程序,所得结果如下:
相关推荐: