一、實驗意義及目的
(1)進一步掌握圖像處理工具Matlab,熟悉基于Matlab的圖像處理函數(shù)。
(2)掌握各種圖像增強方法。
二、實驗內(nèi)容
1.打開一幅彩色圖像Image1,使用Matlab圖像處理函數(shù),對其進行下列變換:
(1)將Image1灰度化為gray,統(tǒng)計并顯示其灰度直方圖;
(2)對gray進行分段線性變換;
(3)對gray進行直方圖均衡化;
(4)對gray進行偽彩色增強;
(5)對gray添加噪聲并平滑;
(6)對gray利用Sobel算子銳化;
(7)實驗要求中的拓展內(nèi)容。
2.拓展內(nèi)容:
(1)對以上處理變換參數(shù),查看處理效果;
(2)更改偽彩色增強方法為熱金屬編碼或彩虹編碼;
(3)設計不同的平滑濾波、銳化濾波方法,查看處理效果;
(4)自行設計方法,實現(xiàn)對彩色圖像增強處理。
三、實驗原理
1.灰度線性變換就是將圖像中所有點的灰度按照線性灰度變換函數(shù)進行變換。
2.直方圖均衡化通過點運算將輸入圖像轉(zhuǎn)換為在每一級上都有相等像素點數(shù)的輸出圖像。
3.偽彩色增強:把一幅黑白域圖像的不同灰度級映射為一幅彩色圖像的技術(shù)手段。
4.銳化(Sharpening) :圖像在傳輸或變換過程中(如未聚焦好)、受到各種干擾而退化,典型的是圖像模糊,而圖像的判讀和識別中,常需突出目標的輪廓或邊緣信息。
5.邊緣銳化:主要增強圖像的輪廓邊緣、細節(jié)( 灰度跳變部分),以突出圖像中景物的邊緣或紋理,形成完整的物體邊界,使邊緣和輪廓模糊的圖像清晰,又叫空域高通濾波(俗稱為勾邊處理)。
四、Matlab相關(guān)函數(shù)介紹
(1)imhist函數(shù)
功能:統(tǒng)計變顯示圖像的直方圖。
調(diào)用格式:
imhist(I):顯示圖像I的直方圖。
imhist(I, n):顯示圖像I的直方圖,n指定直方圖中的列數(shù)。
[COUNTS,X] = imhist(…):返回直方圖數(shù)據(jù)向量COUNTS和相應的色彩值向量X。
(2)histeq函數(shù)
功能:直方圖均衡化
調(diào)用格式:
J = histeq(I,hgram):將圖像I的直方圖變成用戶指定的向量hgram,hgram中的各元素值域為[0,1];
J = histeq(I,N):對原始圖像I進行直方圖均衡化,N為輸出圖像的灰度技術(shù),默認N為64。
(3)imadjust函數(shù)
功能:調(diào)整圖像灰度值或顏色映射表,增加圖像的對比度。
調(diào)用格式:
J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA):調(diào)整圖像I的灰度值;[LOW_IN; HIGH_IN]指定原始圖像中要變換的灰度范圍;[LOW_OUT; HIGH_OUT]指定變換后的灰度范圍;低于LOW_IN 、高于HIGH_IN 的采取截取式;都可以使用空的矩陣[],默認值是[0 1]; GAMMA為標量,指定描述值I和值J關(guān)系的曲線形狀,如果小于1,此映射偏重更高數(shù)值(明亮)輸出,如果gamma大于1,此映射偏重更低數(shù)值(灰暗)輸出,如果省略此參數(shù),默認為(線性映射)。
NEWMAP = imadjust(MAP,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA):調(diào)整索引圖像的顏色表map,其他參量同上。
RGB2 = imadjust(RGB1,…):對RGB圖像RGB1的R、G、B分量進行調(diào)整。
(4)imnoise函數(shù)
J = imnoise(I,type,parameters):按指定類型在圖像I上添加噪聲;type表示噪聲類型,parameters為其所對應參數(shù),可取值如表1所示:
表1 imnoise函數(shù)參數(shù)表
(5)fspecial函數(shù)
h=fspecial(type,parameters):創(chuàng)建指定類型和參數(shù)的二維濾波器h,如表2所示:
表2 fspecial函數(shù)參數(shù)表
(6)filter2函數(shù)
Y = filter2(B,X,shape):使用二維FIR濾波器B對矩陣X進行濾波;shape指定返回值Y的形式,‘full’:Y的維數(shù)大于X;‘same’:Y的維數(shù)等于X;‘valid’:Y的維數(shù)小于X;默認為same。
(7)imfilter函數(shù)
B=imfilter(A,H,option1,option2,…):根據(jù)指定的屬性option1,option2…等,使用多維濾波器H對圖像A進行濾波,H常由函數(shù)fspecial輸出得到。屬性參數(shù)如表3所示:
表3 imfilter函數(shù)參數(shù)表
(8)medfilt2函數(shù)
B = medfilt2(A,[m n]]):用[m n]大小的濾波器對圖像A進行中值濾波,輸出圖像為B,濾波器大小默認為3×3。
(9)edge函數(shù)
BW = edge(I):對灰度或二值圖像I進行邊緣檢測,檢測后圖像為二值圖像BW,邊界處取值為1,否則為0。缺省情況下,edge函數(shù)使用Sobel算子檢測邊緣,也可以指定算子。
BW = edge(I,‘sobel’);BW = edge(I,‘prewitt’);BW = edge(I,‘roberts’);
BW = edge(I,‘log’);BW = edge(I,‘canny’)引號內(nèi)為指定算子。
BW = edge(I,‘sobel’,thresh):thresh指定保留邊緣的閾值,若為0,edge函數(shù)自動選擇該值。
五、代碼及結(jié)果
(1)將Image1灰度化為gray,統(tǒng)計并顯示其灰度直方圖;
(2)對gray進行分段線性變換;
代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-422395.html
Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
imhist(gray),title('灰度直方圖');
[h,w]=size(gray);
NewImage1=zeros(h,w);
a=80/256; b=180/256; c=30/256; d=220/256;
for x=1:w
for y=1:h
if gray(y,x)<a
NewImage1(y,x)=gray(y,x)*c/a;
elseif gray(y,x)<b
NewImage1(y,x)=(gray(y,x)-a)*(d-c)/(b-a)+c;
else
NewImage1(y,x)=(gray(y,x)-b)*(255-d)/(255-b)+d;
end
end
end
figure,imshow(NewImage1),title('分段線性變換');
結(jié)果:
(3)對gray進行直方圖均衡化;
代碼:
Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
NewImage2=histeq(gray);
figure,imshow(NewImage2),title('直方圖均衡化');
結(jié)果:
(4)對gray進行偽彩色增強;
代碼:
Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
NewImage3=zeros(h,w,3);
for x=1:w
for y=1:h
if gray(y,x)<64/256
NewImage3(y,x,1)=0;
NewImage3(y,x,2)=4*gray(y,x);
NewImage3(y,x,3)=1;
elseif gray(y,x)<128/256
NewImage3(y,x,1)=0;
NewImage3(y,x,2)=1;
NewImage3(y,x,3)=2-4*gray(y,x);
elseif gray(y,x)<192/256
NewImage3(y,x,1)=4*gray(y,x)-2;
NewImage3(y,x,2)=1;
NewImage3(y,x,3)=0;
else
NewImage3(y,x,1)=1;
NewImage3(y,x,2)=4-4*gray(y,x);
NewImage3(y,x,3)=0;
end
end
end
figure,imshow(NewImage3),title('偽彩色增強');
結(jié)果:文章來源:http://www.zghlxwxcb.cn/news/detail-422395.html
(5)對gray添加噪聲并平滑;
代碼:
Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
noiseIsp=imnoise(gray,'salt & pepper',0.1);
noiseIg=imnoise(gray,'gaussian');
result1=medfilt2(noiseIsp);
result2=medfilt2(noiseIg);
figure;
subplot(121),imshow(re
到了這里,關(guān)于【數(shù)字圖像處理】實驗(2)——圖像增強(MATLAB實現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!