1、原圖像經水平、垂直、水平垂直鏡像設置通過mirror函數實現:
close all; %關閉當前所有圖形窗口,清空工作空間變量,清除工作空間所有變量 clear all; clc; I=imread('cameraman.tif'); %輸入圖像 J1=mirror(I,1);%原圖像的水平鏡像 J2=mirror(I,2);%原圖像的垂直鏡像 J3=mirror(I,3);%原圖像的水平垂直鏡像 set(0,'defaultFigurePosition',[100,100,1000,500]);%修改圖形圖像位置的默認設置 set(0,'defaultFigureColor',[1 1 1])%修改圖形背景顏色的設置 figure, subplot(1,2,1),imshow(I) ;%繪制原圖像 subplot(1,2,2),imshow(J1);%繪制水平鏡像后圖像 figure, subplot(1,2,1),imshow(J2);%繪制垂直鏡像后圖像 subplot(1,2,2),imshow(J3);%繪制水平垂直鏡像后圖像
效果圖如下:
以上的mirror函數針對的是低級版本的MATLAB,目前高級版本的MATLAB已經不支持mirror函數了,如果你的MATLAB用了mirror函數后出現各種報錯,說明你的版本太高級了。需要用flipdim函數,參數設置跟mirror函數一樣。示例代碼如下:
close all; %關閉當前所有圖形窗口,清空工作空間變量,清除工作空間所有變量 clear all; clc; I=imread('cameraman.tif'); %輸入圖像 J1=flipdim(I,1);%原圖像的水平鏡像 J2=flipdim(I,2);%原圖像的垂直鏡像 J3=flipdim(I,3);%原圖像的水平垂直鏡像 set(0,'defaultFigurePosition',[100,100,1000,500]);%修改圖形圖像位置的默認設置 set(0,'defaultFigureColor',[1 1 1])%修改圖形背景顏色的設置 figure, subplot(1,2,1),imshow(I) ;%繪制原圖像 subplot(1,2,2),imshow(J1);%繪制水平鏡像后圖像 figure, subplot(1,2,1),imshow(J2);%繪制垂直鏡像后圖像 subplot(1,2,2),imshow(J3);%繪制水平垂直鏡像后圖像
2、圖像轉置用了transp函數,實現代碼如下:
close all; %關閉當前所有圖形窗口,清空工作空間變量,清除工作空間所有變量 clear all; clc; I=imread('trees.tif'); %輸入圖像 J1=transp(I); %對原圖像的轉置 I1=imread('lenna.bmp'); %輸入圖像 J2=transp(I1); %對原圖像的轉置 set(0,'defaultFigurePosition',[100,100,1000,500]);%修改圖形圖像位置的默認設置 set(0,'defaultFigureColor',[1 1 1])%修改圖形背景顏色的設置 figure, subplot(1,2,1),imshow(I);%繪制移動后圖像 subplot(1,2,2),imshow(J1);%繪制移動后圖像 figure, subplot(1,2,1),imshow(I1) subplot(1,2,2),imshow(J2)
效果圖如下:
3、圖像旋轉用了imrotate函數,實現過程如下:
close all; %關閉當前所有圖形窗口,清空工作空間變量,清除工作空間所有變量 clear all; clc; A=imread('office_2.jpg'); %讀入圖像 J1=imrotate(A, 30); %設置旋轉角度,實現旋轉並顯示 J2=imrotate(A, -30); J3=imrotate(A,30,'bicubic','crop'); %設置輸出圖像大小,實現旋轉圖像並顯示 J4=imrotate(A,30, 'bicubic','loose'); set(0,'defaultFigurePosition',[100,100,1000,500]);%修改圖形圖像位置的默認設置 set(0,'defaultFigureColor',[1 1 1])%修改圖形背景顏色的設置 figure(1) %顯示旋轉處理結果 subplot(121),imshow(J1); subplot(122),imshow(J2); figure(2) subplot(121),imshow(J3); subplot(122),imshow(J4);
效果圖如下: