1.图像反转
/ z: ]' V$ P: j* P$ MMATLAB程序实现如下:
9 F, ?: W$ d" y- Y6 eI=imread('xian.bmp');5 j2 W0 q+ \% `- B5 T! l- u9 {+ S
J=double(I);) ]0 Z# Y A; p j
J=-J+(256-1); %图像反转线性变换, P( n8 u2 B* [& s$ }
H=uint8(J);
( X# S n- z$ osubplot(1,2,1),imshow(I);' T2 u5 ?5 b* ] C1 M' M' l
subplot(1,2,2),imshow(H);
2.灰度线性变换 G2 G7 o: J! W( W- h, o' D/ I Q
MATLAB程序实现如下:( J$ K* g8 H% Y* [. n3 t/ O
I=imread('xian.bmp');( v7 }) Z6 L: a! E* x' `
subplot(2,2,1),imshow(I);: A7 Z: o! @7 }, t: g: P
title('原始图像');
* `- n) l& H( b: V1 R6 K8 zaxis([50,250,50,200]);
: q7 u+ l, h2 t+ u( M9 Y4 Y9 Qaxis on; %显示坐标系
" k8 j( M) M7 {' ~I1=rgb2gray(I);5 {; K& E c& h' a5 b! M' i( F: c0 x
subplot(2,2,2),imshow(I1);$ X0 c: h+ ~. q' f, ~6 Q
title('灰度图像');
6 X. Y% ?+ l, a6 T9 c5 A% w, t- H8 D+ qaxis([50,250,50,200]);
% ~7 P% e, @7 z7 naxis on; %显示坐标系
* v) y* K# X$ I3 l( a' yJ=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1]
3 L7 D8 S5 A, s* Wsubplot(2,2,3),imshow(J);4 V" G' C2 B0 b# h3 r# R$ C d
title('线性变换图像[0.1 0.5]');
1 r1 U1 k$ o& O2 Z, I4 W0 P1 Taxis([50,250,50,200]);
9 [! Y! E2 d% v" R7 _. Qgrid on; %显示网格线- `* o1 ?! G3 f0 H* W
axis on; %显示坐标系
: e1 X+ E/ B6 {4 B' a+ y2 K/ x. uK=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1]' x+ A& k9 E" y( J9 X+ G
subplot(2,2,4),imshow(K);
# X3 t$ J; o# c1 f% N/ z$ F0 _% [title('线性变换图像[0.3 0.7]');; {. F) S6 E- ~* m f# S9 L& D
axis([50,250,50,200]);
2 a1 A8 a5 E, J5 igrid on; %显示网格线) X3 B& g) d& ?3 {/ a% K* P. t
axis on; %显示坐标系