clc 清屏數組
close all 清除變量函數
clear all 關閉窗口spa
rgb2gray 將RGB圖像或顏色圖轉換爲灰度圖 code
size(A) [在這裏只考慮A爲圖像] blog
B = imresize(A,[300 300]) 將A圖像調整爲300*300大小,返回圖像B圖片
imshow(I,[]) 顯示灰度圖像I
,根據I中的像素值範圍對顯示進行轉換,它使用[min(I(:)) max(I(:))]
做爲顯示範圍。將I
中的最小值顯示爲黑色,將最大值顯示爲白色。it
X = zeros(sz1,...,szN) 返回由零組成的 sz1
×...×szN
數組,其中 sz1,...,szN
指示每一個維度的大小。class
zeros(2,3)
將返回一個 2×3 矩陣。圖像合併:其實就是將圖片按矩陣排列後,造成一個新的圖像變量
[A B]:A圖和B圖水平拼接在一塊兒,能夠理解成是矩陣的一行im
[A B;C D]:這是一個兩行的矩陣,把四幅圖拼在一塊兒,其中A與B、C與D皆是水平拼接在一塊兒,它們各自拼接的圖片又組成一個2*1的矩陣
結果:
clc; clear all; close all; A = imread('f.jpg'); I = rgb2gray(A); [s1 s2] = size(I); S = zeros(s1,s2); for m = 1:s1 for n = 1:s2 S(m,n) = I(s1-m+1,n); end end figure; subplot(211),imshow(I,[]),title('原圖'); subplot(212),imshow(S,[]),title('垂直鏡像');
理解:
S(m,n) = I(s1-m+1,n)
要搞清楚s1表示第幾行,把上述圖片比做矩形,至關於寬,那麼咱們在作垂直鏡像時,觀察到其實每個像素點的列不變,行發生了變化,能夠本身舉一個對稱的小例子感覺一下,必定要注意s1纔是最大行數
clc; clear all; close all; P1 = imread('01.jpg'); P2 = imread('02.jpg'); P3 = imread('03.jpg'); P4 = imread('04.jpg'); f1 = imresize(P1,[300 300]); f2 = imresize(P2,[300 300]); f3 = imresize(P3,[300 300]); f4 = imresize(P4,[300 300]); I = [f1 f2;f3 f4]; figure; imshow(I);