װߡ
ͼ5-1 ǿԱȶ
MATLABǿԱȶȳ£ X1=imread('333.jpg'); figure,imshow(X1) f0=0;g0=0; f1=70;g1=30; f2=180;g2=230; f3=255;g3=255;
r1=(g1-g0)/(f1-f0); b1=g0-r1*f0;
r2=(g2-g1)/(f2-f1); b2=g1-r2*f1;
r3=(g3-g2)/(f3-f2); b3=g2-r3*f2; [m,n]=size(X1); X2=double(X1); for i=1:m for j=1:n
f=X2(i,j); g(i,j)=0;
if(f>=0)&(f<=f1) g(i,j)=r1*f+b1;
elseif (f>=f1)&(f<=f2) g(i,j)=r2*f+b2;
elseif (f>=f2)&(f<=f3) g(i,j)=r3*f+b3; end end
20 ҳ 41 ҳ
װߡ
end
figure,imshow(mat2gray(g)) еõ½
ͼ5-2ԭͼ ͼ5-3 ǿԱȶȺͼ
MATLABлṩimadjustԱȶȵڵҶֵɫͼͼֻǻҶͼMATLAB£ clear all;
I=imread('333.jpg');
subplot(1,2,1);imshow(I); J=imadjust(I);
subplot(1,2,2);imshow(J); гõ½ͼ5-4
(1) ԭʼͼ (2) ǿԱȶȺͼ ͼ5-4 ǿԱȶ
5.1.2 ͼ
νͼǽԭĻҶֵת˵ʹڱףʹױڡԻҶȼΧ[0,L-1]任[L-1,0],任ʽΪ(5-4):
t?L?1?s (5-4) ַǿǶͼɫİɫɫϸڡ MATLABͼ£ clear all;
21 ҳ 41 ҳ
װߡ
I=imread('999.jpg'); figure,imshow(I); J=double(I); J=256-1-J; J=uint8(J);
figure,imshow(J);
гõ½ͼ5-5
(1) ԭʼͼ (2) ͼͼ ͼ5-5 ͼ䷴
5.2 ˲ǿ
һ£صȸҪҲ˵صг˱ء£g(x,y)(x,y)λôֵȡf(x,y)(x,y)Ϊĵеصֵ
Ϊʵǿģͼоÿģʵһά飬иԪصȡֵģĹܣģҲΪ˲
stֱʾf(x,y)(x,y)λôǿǰĻҶֵn(s)f(x,y)(x,y)صĻҶֵ t=EA[s,n(s)]
5.2.1ԭ
ص㣬˲һɷΪ˲ͷ˲ࡣ˲ƳڶԸҶ任ķο˲һֱӶв
˲ݹҪֳƽ˲˲ƽõͨʵ֣ƽĿģøͨʵ֣ĿΪǿģϸڡԹУǣƽ˲ͣǣ˲ֿռ˲ǿ
ƽ˲ܼҶռĸƵӰƵΪƵӦͼеԵȻҶֵнϴϿ仯IJ֣˲Щȥʹͼƽ
22 ҳ 41 ҳ
װߡ
˲ܼҶռĵƵӰƵΪƵӦͼлҶֵ仯ͼԣԱȶȺƽҶֵйأЩȥʹͼ
˲ģҪ£
1ģͼΣģͼijλغϣ 2ģϵϵģ¶Ӧˣ 3еij˻ӣ
4ģӦͼжӦģλõء
[17]
ֱMATLABӦƽ˲
5.2.2 ƽ˲ֵ
ƽ˲ȥͼijЩ͵ƽdzõļռƽƽһؼеصƽֵͼӦأӶﵽƽĿģֳƾֵ˲
ڸͼfxyеÿص㣨ijSSMأٶnxyǼڿռ㻥أΪ0Ϊ?2ƽͼΪgxy(5-5):
11??fx,y?n?x,y? (5-5) g?x,y????MMʽпֵ䣬С˵ǿȼˣ
MATLABƽ£ clear all;
I=imread('rice.png');
J=imnoise(I,'salt & pepper',0.02); figure,imshow(I); figure,imshow(J);
K1=filter2(fspecial('average',3),J);%3*3ģƽ˲ K2=filter2(fspecial('average',5),J);%5*5ģƽ˲ figure,imshow(uint8(K1)); figure,imshow(uint8(K2));
гõ½ͼ5-6
ӳкĽģԽȥԽǿͬʱͼģ
23 ҳ 41 ҳ