1.图像反转1 m0 {# Y1 p Q. y' f
MATLAB程序实现如下:" c' u( ?, a% ?. ^" V) m$ E
I=imread('xian.bmp');
o ~5 W4 R' D" @* hJ=double(I);
6 v" O, k+ p [- w$ H, _6 sJ=-J+(256-1); %图像反转线性变换% s4 D& `- ^0 E7 v
H=uint8(J);
M% `1 V. B' u& v2 Lsubplot(1,2,1),imshow(I);6 z0 n2 V) ]" t2 E5 P+ h G8 D
subplot(1,2,2),imshow(H);
2.灰度线性变换+ f- c' r: u8 q% V+ J( k
MATLAB程序实现如下:
0 _4 K% A$ G! Z/ o4 G8 Y( O' o* QI=imread('xian.bmp');
6 C6 ]6 R% ^" e6 q* b6 l9 asubplot(2,2,1),imshow(I);
+ g* \: D) S' E0 `7 X$ R/ p3 Ptitle('原始图像');9 C% u) C2 N$ h7 J2 y Y. R, P
axis([50,250,50,200]);
; _) T6 L* B7 N, H* Caxis on; %显示坐标系
, `# q3 x s, b, c9 K9 j# n/ @I1=rgb2gray(I);
D0 z; L- ]& P8 i f- Nsubplot(2,2,2),imshow(I1);
7 r8 l _5 H& C+ Q0 S# ititle('灰度图像');
+ a6 P9 ], O$ q$ w- `axis([50,250,50,200]);
# @6 W1 t% Z2 L, W, Taxis on; %显示坐标系
9 Q) C, r( {9 c% g$ kJ=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1]
' N, i$ k* b; U! Xsubplot(2,2,3),imshow(J);
, N/ W. p8 V) [; wtitle('线性变换图像[0.1 0.5]'); B* ]$ J$ |) J0 F( d* _' R
axis([50,250,50,200]);
3 K7 i, Q9 B& c) z2 Hgrid on; %显示网格线5 _# h9 y1 W/ K- N3 j8 i8 H2 B
axis on; %显示坐标系
9 p) t- L7 o. hK=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1]& \0 U! g6 E2 [( d& H
subplot(2,2,4),imshow(K);
# L; Z7 I# P6 M8 q8 j5 ^! ztitle('线性变换图像[0.3 0.7]');' W3 u9 W$ d) Q0 d# ^- N
axis([50,250,50,200]);
4 }# g" n% _8 Y7 qgrid on; %显示网格线
- ^- P" o+ n# a& Uaxis on; %显示坐标系