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);