數(shù)字圖像處理PPT(MATLAB版)課件_第1頁
數(shù)字圖像處理PPT(MATLAB版)課件_第2頁
數(shù)字圖像處理PPT(MATLAB版)課件_第3頁
數(shù)字圖像處理PPT(MATLAB版)課件_第4頁
數(shù)字圖像處理PPT(MATLAB版)課件_第5頁
已閱讀5頁,還剩202頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)字圖像處理/1、圖像的讀取和顯示/2、圖像的點運算/4、空間域圖像增強/5、頻率域圖像增強/6、彩色圖像處理/7、形態(tài)學圖像處理/8、圖像分割/9、特征提取/3、圖像的幾何變換/1、圖像的讀取和顯示一、圖像的讀取A=imread(FILENAME,FMT)FILENAME 指定圖像文件的完整路徑和文件名。如果在work工作目錄下只需提供文件名。FMT為圖像文件的格式對應的標準擴展名。I_1=imread(D:10.06.08nirTTC10377.BMP);%讀入圖像二、圖像的寫入imwrite(A,F(xiàn)ILENAME,FMT)FILENAME參數(shù)指定文件名。FMT為保存文件采用的格式。imw

2、rite(I6,nirdilatedisk2TTC10373.bmp);/1、圖像的讀取和顯示三、圖像的顯示imshow(I,low high)I為要顯示的圖像矩陣。low high為指定顯示灰度圖像的灰度范圍。高于high的像素被顯示成白色;低于low的像素被顯示成黑色;介于High和low之間的像素被按比例拉伸后顯示為各種等級的灰色。figure;imshow(I6);title(The Main Pass Part of TTC10373);figure;%創(chuàng)建一個新的窗口figure;subplot(m,n,p);imshow(I);Subplot(m,n,p)含義為:打開一個有m行n

3、列圖像位置的窗口,并將焦點位于第p個位置上。/1、圖像的讀取和顯示四、圖像的格式轉換im2bw(I,LEVEL);rgb2gray;從RGB圖創(chuàng)建灰度圖,存儲類型不變。im2uint8 將圖像轉換成uint8類型閾值法從灰度圖、RGB圖創(chuàng)建二值圖。LEVEL為指定的閾值;(0,1)。im2double 將圖像轉換成double類型/2、圖像的點運算 灰度直方圖描述了一副圖像的灰度級統(tǒng)計信息,主要應用于圖像分割和圖像灰度變換等處理過程中。從數(shù)學角度來說,圖像直方圖描述圖像各個灰度級的統(tǒng)計特性,它是圖像灰度值的函數(shù),統(tǒng)計一幅圖像中各個灰度級出現(xiàn)的次數(shù)或概率。歸一化直方圖可以直接反映不同灰度級出現(xiàn)的

4、比率。橫坐標為圖像中各個像素點的灰度級別,縱坐標表示具有各個灰度級別的像素在圖像中出現(xiàn)的次數(shù)或概率。imhist(I);%灰度直方圖I=imread(red.bmp);%讀入圖像figure;%打開新窗口M,N=size(I);%計算圖像大小counts,x=imhist(I,32);%計算有32個小區(qū)間的灰度直方圖counts=counts/M/N;%計算歸一化灰度直方圖各區(qū)間的值stem(x,counts);%繪制歸一化直方圖一、圖像直方圖圖像直方圖歸一化/2、圖像的點運算二、灰度的線性變換Fa1時,輸出圖像的對比度將增大;Fa1時,輸出圖像對比度將減小。Fa=1且Fb非零時,所有像素的灰

5、度值上移或下移,使整個圖像更暗或更亮。Fafreq) out(i,j)=0; end endend理想低通function out = imgaussflpf(I,sigma)%imgaussflpf函數(shù) 構造高斯頻域低通濾波器M,N = size(I);out = ones(M,N);for i=1:M forj=1:N out(i,j) = exp(-(i-M/2)2+(j-N/2)2)/2/sigma2); endend高斯低通/6、彩色圖像處理色彩模型:RGB模型、CMY模型、CMYK模型、HIS模型、 HSV模型、YUV模型、YIQ模型。RGB模型國際照明委員會(CIE)規(guī)定以藍(4

6、35.8nm)、綠(546.1nm)和紅(700nm)作為主原色。RGB_image=cat(3,PR,PG,PB);%將PR、PG、PB三個矩陣在第3個維度上進行級聯(lián),進行圖像合成PR=RGB_image(:,:,1);%提取紅色分量PG=RGB_image(:,:,2);%提取綠色分量PB=RGB_image(:,:,3);%提取藍色分量Matlab中一幅RGB圖像可表示為一個M*N*3的3維矩陣。其中每一個彩色像素都在特定空間位置的彩色圖像中對應紅、綠、藍3個分量。CMY模型CMY模型是采用(Cyan、Magenta、Yellow)青、品紅、黃色3中基本原色按一定比例合成顏色。由于色彩的

7、顯示是由光線被物體吸收掉一部分之后反射回來的剩余光線產生,故CMY模型又稱為減色法混色模型。當光都被吸收時成為黑色,都被反射時為白色。CMY模型主要用于彩色打印機和復印機等。CMYK模型CMY模型在實際使用中,青、品紅和黃色等比例混合后的黑色并不純,為產生真正的黑色,專門加入第四種顏色黑色。得到CMYK模型。用于四色打印。cmy=imcomplement(rgb);%rgb轉成cmyrgb=imcomplement(cmy);cmy轉成rgbHSI模型HIS模型是從人的視覺系統(tǒng)出發(fā),直接使用顏色三要素色調(Hue)、飽和度(Saturation)和亮度(Intensity)來描述顏色。亮度指人

8、眼感覺光的明暗程度。光的能量越大,亮度越大。色調由物體反射光線中占優(yōu)勢的波長決定。反映顏色的本質。飽和度指顏色的深淺和濃淡程度,飽和度越高,顏色越深。HIS色彩空間比RGB彩色空間更符合人的視覺特性。亮度和色度具有可分離特性,使得圖像處理和機器視覺中大量灰度處理算法都可在HIS彩色空間中方便使用。色調亮度飽和度其中/7、形態(tài)學圖像處理一、二值圖像腐蝕I2=imerode(I,SE);SE=strel(shape,parameters);I為原始圖像,可以是二值或者灰度圖像。shape指定了結構元素的形狀。parameters是和輸入shape有關的參數(shù)。合法取值功能描述arbitrary或為空

9、任意自定義結構元素disk圓形結構元素square正方形結構元素rectangle矩形結構元素line線性結構元素pair包含2個點的結構元素diamond菱形的結構元素octagon8角形的結構元素/7、形態(tài)學圖像處理二、二值圖像膨脹I2=imdilate(I,SE);SE=strel(shape,parameters);I為原始圖像,可以是二值或者灰度圖像。shape指定了結構元素的形狀。parameters是和輸入shape有關的參數(shù)。原圖像腐蝕后膨脹后/7、形態(tài)學圖像處理三、其他二值圖像運算SE=strel(shape,parameters);I2=imopen(I,SE);%開運算I

10、3=imclose(I,SE);%閉運算Ihm=bwhitmiss(I,SE1,SE2);%擊中擊不中變換四、連通分量提取L num=bwlabel(Ibw,conn);Ibw為一幅輸入二值圖像。conn為可選參數(shù),指明提取連通分量是4連通還是8連通。默認為8。L為連通分量標注圖像。num為二值圖像Ibw中連通分量個數(shù)。/7、形態(tài)學圖像處理五、bwmorph函數(shù)Iout=bwmorph(I,operation,n)合法取值功能描述bridge橋接有單個像素縫隙分割的前景像素clean清楚孤立的前景像素diag圍繞對角線相連的前景像素進行填充fill填充單個像素的孔洞hbreak去掉前景中的H形

11、連接majority如果點P的8領域中一半以上像素為前景像素,則P為前景像素,否則為背景。remove去除內部像素(無背景像素相鄰的前景)shrink將物體收縮為一個點或者帶洞的環(huán)形skel骨骼化圖像spur去除“毛刺”thicken粗化物體thin將物體細化至最低限度相連的線形/7、形態(tài)學圖像處理六、頂帽變換解決非均勻光照問題。頂帽變換定義為圖像f與圖像f的開運算之差。a=imread(red.bmp);I=rgb2gray(a);figure,surf(double(I(1:8:end,1:8:end),zlim(0 255),colormapgray;%顯示圖像I的三維可視化效果bg=i

12、mopen(I,strel(disk,15);%開運算Itophat=imsubtract(I,bg);%頂帽變換figure,imshow(Itophat);figure,surf(double(Itophat(1:8:end,1:8:end),zlim(0 255);I2=imadjust(Itophat);figure,imshow(I2);原圖像三維可視化效果頂帽變換后的三維可視化效果頂帽變換后圖像對比度拉伸后效果/8、圖像分割一、圖像分割概述 圖像分割一般采用的方法有邊緣檢測(edge detection)、邊界跟蹤(edge tracing)、區(qū)域生長(region growing

13、)、區(qū)域分離和聚合等。 圖像分割算法一般基于圖像灰度值的不連續(xù)性或其相似性。 不連續(xù)性是基于圖像灰度的不連續(xù)變化分割圖像,如針對圖像的邊緣有邊緣檢測、邊界跟蹤等算法。 相似性是依據(jù)事先制定的準則將圖像分割為相似的區(qū)域,如閾值分割、區(qū)域生長等。二、邊緣檢測 圖像的邊緣點是指圖像中周圍像素灰度有階躍變化或屋頂變化的那些像素點,即灰度值導數(shù)較大或極大的地方。 邊緣檢測可以大幅度的減少數(shù)據(jù)量,并且剔除不相關信息,保留圖像重要的結構屬性。 邊緣檢測基本步驟:平滑濾波、銳化濾波、邊緣判定、邊緣連接。邊緣檢測算法:基于一階導數(shù):Roberts算子、Sobel算子、Prewitt算子基于二階導數(shù):高斯-拉普拉

14、斯邊緣檢測算子Canny邊緣檢測算法Matlab實現(xiàn)1)、基于梯度算子的邊緣檢測BW=edge(I,type,thresh,direction,nothinning)type合法取值梯度算子sobelsobel算子prewittprewitt算子rebertsrobert算子thresh是敏感度閾值參數(shù),任何灰度值低于此閾值的邊緣將不會被檢測到。默認值為空矩陣,此時算法自動計算閾值。direction指定了我們感興趣的邊緣方向,edge函數(shù)將只檢測direction中指定方向的邊緣,其合法值如下:direction合法值邊緣方向horizontal水平方向vertical豎直方向both所有方

15、向可選參數(shù)nothinning,指定時可以通過跳過邊緣細化算法來加快算法運行的速度。默認是thinning,即進行邊緣細化。2)、基于高斯-拉普拉斯算子的邊緣檢測BW=edge(I,log,thresh,sigma)sigma指定生成高斯濾波器所使用的標準差。默認時,標準差為2。濾鏡大小n*n,n的計算方法為:n=ceil(sigma*3)*2+1。3)、基于Canny算子的邊緣檢測BW=edge(I,canny,thresh,sigma)thresh是敏感度閾值參數(shù),默認值為空矩陣。此處為一列向量,為算法指定閾值的上下限。第一個元素為閾值下限,第二個元素為閾值上限。如果只指定一個閾值元素,則

16、默認此元素為閾值上限,其0.4倍的值作為閾值下限。如閾值參數(shù)沒有指定,則算法自行確定敏感度閾值上下限。b1=imread(nir.bmp);h58=fspecial(gaussian,5,0.8);b=imfilter(b1,h58);bw1=edge(b,sobel);%sobel算子bw2=edge(b,prewitt);%prewitt算子bw3=edge(b,roberts);%roberts算子bw4=edge(b,log); %log算子bw5=edge(b,canny);%canny算子figure;imshow(bw1);imwrite(bw1,nirbwsobel.bmp);

17、figure;imshow(bw2);imwrite(bw2,nirbwprewitt.bmp);figure;imshow(bw3);imwrite(bw3,nirbwroberts.bmp);figure;imshow(bw4);imwrite(bw4,nirbwlog.bmp);figure;imshow(bw5);imwrite(bw5,nirbwcanny.bmp);Sobel算子roberts算子prewitt算子log算子canny算子分析1、邊緣定位精度方面: Roberts算子和Log算子定位精度較高。Roberts算子簡單直觀,Log算子利用二階導數(shù)零交叉特性檢測邊緣。但L

18、og算子只能獲得邊緣位置信息,不能得到邊緣方向信息。2、邊緣方向的敏感性: Sobel算子、Prewitt算子檢測斜向階躍邊緣效果較好,Roberts算子檢測水平和垂直邊緣效果較好。Log算子不具有邊緣方向檢測功能。Sobel算子能提供最精確的邊緣方向估計。3、去噪能力: Roberts算子和Log算子雖然定位精度高,但受噪聲影響大。 Sobel算子和Prewitt算子模板相對較大因而去噪能力較強,具有平滑作用,能濾除一些噪聲,去掉一部分偽邊緣,但同時也平滑了真正的邊緣,降低了其邊緣定位精度??傮w來講,Canny算子邊緣定位精確性和抗噪聲能力效果較好,是一個折中方案。 三、Hough變換直線檢

19、測/8、圖像分割步驟:利用hough()函數(shù)執(zhí)行霍夫變換,得到霍夫矩陣;利用houghpeaks()函數(shù)在霍夫矩陣中尋找峰值點;利用houghlines()函數(shù)在之前兩步結果的基礎上得到原二值圖像中的直線信息。H,theta,rho=hough(BW,param1,val1,param2,val2)1、霍夫變換(針對二值圖像)Param合法值含義ThetaResolutionHough矩陣中a軸方向上單位區(qū)間長度,0,90RhoResolutionHough矩陣中p軸方向上單位區(qū)間長度,0,norm(size(BW)2、尋找峰值houghpeakspeaks=houghpeaks(H,nump

20、eaks,param1,val1,param2,val2)Param合法值含義Threshold峰值的閾值,默認為0.5*max(H(:)NHoodSize在每次檢測出一個峰值后,NHoodSize指出了在該峰值周圍需要清零的鄰閾信息。以向量M N形式給出,其中M、N均為正奇數(shù)。默認為大于等于size(H)/50的最小奇數(shù)peaks是一個Q*2的矩陣,每行的兩個元素分別為某一峰值點在Hough矩陣中的行、列索引,Q為找到的峰值點的數(shù)目。3、提取直線段houghlineslines=houghlines(BW,theta,rho,peaks,param1,val1,param2,val2)Par

21、am合法值含義FillGap線段合并的閾值:如果對應于Hough矩陣某一個單元格(相同的a和p)的2個線段之間的距離小于FillGap,則合并為1個直線段。默認值為20MinLength檢測的直線段的最小長度閾值:如果檢測出的直線線段長度大于MinLength,則保留,否則丟棄。默認值為40。域含義point1直線段的端點1point2直線段的端點2theta對應在霍夫矩陣中的arho對應在霍夫矩陣中的p返回值lines的結構I1=imread(004.jpg);I=rgb2gray(I1);%旋轉圖像并尋找邊緣rotI=imrotate(I,33,crop);BW=edge(rotI,can

22、ny);%執(zhí)行Hough變換并顯示Hough矩陣H,T,R=hough(BW);figure;imshow(H,XData,T,YData,R,InitialMagnification,fit);xlabel(theta),ylabel(rho);axis on,axis normal,hold on;%在Hough矩陣中尋找前5個大于Hough矩陣中最大值0.3倍的峰值P=houghpeaks(H,5,threshold,ceil(0.3*max(H(:);x=T(P(:,2);y=R(P(:,1);%由行、列索引轉換成實際坐標plot(x,y,s,color,white);%在Hough矩

23、陣圖像中標出峰值位置%找出并繪制直線lines=houghlines(BW,T,R,P,FillGap,5,MinLength,7);%合并距離小于5的線段,丟棄所有長度小于7的直線段figure,imshow(rotI),hold onmax_len=0;for k = 1:length(lines)%依次標出各條直線段 xy=lines(k).point1;lines(k).point2; plot(xy(:,1),xy(:,2),x,LineWidth,2,Color,green); %繪制線段端點 plot(xy(1,1),xy(1,2),x,LineWidth,2,Color,yel

24、low); plot(xy(2,1),xy(2,2),x,LineWidth,2,Color,red); %確定最長的線段 len=norm(lines(k).point1-lines(k).point2); if(lenmax_len) max_len=len; xy_long=xy; endend%高亮顯示最長線段plot(xy_long(:,1),xy_long(:,2), LineWidth,2,Color,cyan);原圖像Hough矩陣旋轉并檢測最長直線段/9、特征提取特征提取的一般原則:選擇在同類圖像之間差異較小(較小的類內距),在不同類別的圖像之間差異較大(較大的類間距)的圖像

25、特征。一、簡單區(qū)域描繪子周長:區(qū)域邊界上的像素數(shù)目。面積:區(qū)域中像素數(shù)目。致密性:(周長)2/面積。區(qū)域的質心?;叶染担簠^(qū)域中所有像素的平均值?;叶戎兄担簠^(qū)域中所有像素的排序中值。包含區(qū)域的最小矩形。最小或最大灰度級。大于或小于均值的像素數(shù)。歐拉數(shù):區(qū)域中的對象數(shù)減去這些對象的孔洞數(shù)。D=regionprops(L,properties);L為一個標記矩陣,通過連通1區(qū)域標注函數(shù)bwlabel得到。Properties合法值含義Area區(qū)域內像素總數(shù)BoundingBox包含區(qū)域的最小矩形Centroid區(qū)域的質心ConvexHull包含區(qū)域的最小凸多邊形EquivDiameter和區(qū)域有著

26、相同面積的圓的直徑EulerNumber區(qū)域中的對象數(shù)減去這些對象的孔洞數(shù)二、主成分分析(Principal Component Analysis,PCA)COEFF,SCORE,latent=pincomp(X); X為原始樣本組成n*d的矩陣,其每一行是一個樣本特征向量,每一列表示樣本特征向量的一維。 COEFF:主成分分量,也是樣本協(xié)方差矩陣的本征向量。 SCORE:主成分,X的低維表示。 latent:一個包含著樣本協(xié)方差矩陣本征值的向量。X=1,2;3,3;3,5;4,5;5,6;6,5;8,7;9,3;7,6;XCOEFF,SCORE,latent=princomp(X);%主成分

27、分析COEFF%主成分分量SCORE%主成分latent%X樣本協(xié)方差矩陣的本征值圖像分割Contents 8.1 圖像分割定義 8.2 使用閾值進行圖像分割 8.3基于梯度的圖像分割方法 8.4 邊緣檢測和連接 Contents 8.5 區(qū)域增長(Region Growing) 8.6 二值圖像處理(Binary Image Processing) 8.7 分割圖像的結構小結 8.1 圖像分割定義 圖像分割處理定義:將數(shù)字圖像劃分成互不相交(不重疊)區(qū)域的過程.區(qū)域(region) 定義:像素的連通集。 連通(connectedness)定義 :在一個連通集中的任意兩個像素之間,存住一條完全

28、由這個集合的元素構成的連通路徑。 8.2.1 全局閾值化思想:整個圖像中將灰度閾值的值設置為常數(shù)。前提條件:如果背景的灰度值在整個圖像中可合理地看作為恒定,而且所有物體與背景都具有幾乎相同的對比度,那么,只要選擇了正確的閾值,使用一個固定的全局閾值一般會有較好的效果。 8.2.2 自適應閾值改進方法:在許多的情況下,背景的灰度值并不是常數(shù),物件和背景的對比度在圖像中也有變化,這時,一個在圖像中某一區(qū)域效果良好的閾值在其它區(qū)域卻可能效果很差。在這種情況下,把灰度閾值取成一個隨圖像中位置緩慢變化的函數(shù)值是適宜的。 8.2.3最佳閾值的選擇 除非圖像中的物體有陡峭的邊沿,否則灰度閾值的取值對所抽取物

29、體的邊界的定位和整體的尺寸有很大的影響。這意味著后續(xù)的尺寸(特別是面積)的測量對于灰度閾值的選擇很敏感。由于這個原因,我們需要一個最佳的,或至少是具有一致性的方法確定閾值。 1.直方圖技術 含有一個與背景明顯對比的物體的圖像其有包含雙峰的灰度直方圖 直方圖生成a = imread(d:pici_boat_gray.bmp); imshow(a) figure imhist(a)利用灰度閾值T對物體面積進行計算的定義是:2. 最大類間方差法(OTSU)OTSU算法定義:該算法是在灰度直方圖的基礎上用最小二乘法原理推導出來的,具有統(tǒng)計意義上的最佳分割閾值。 OTSU基本原理:以最佳閾值將圖像的灰度

30、直方圖分割成兩部分,是兩部分之間的方差取最大值,即分離性最大。3. 迭代法求閾值 原理:圖像中前景與背景之間的灰度分布為相互不重疊,在該前提下,實現(xiàn)對兩類對象的閾值分割方法。 8.3基于梯度的圖像分割方法思路對比: 區(qū)域分割方法:通過將圖像劃分為內部點集和外部點集來實現(xiàn)分割。邊界方法:利用邊界具有高梯度值的性質直接把邊界找出來。 8.3.1邊界跟蹤算法步驟1:我們從一個梯度幅值圖像著手進行處理, 這個圖像是從一幅處于和物體具有反差的 背景中的單一物體的圖像進行計算得來的。 2:搜索以邊界起始點為中心的33鄰域,找 出具有最大灰度級的鄰域點作為第2個邊界點。 8.3.2梯度圖像二值化如果用適中的

31、閾值對一幅梯度圖像進行二值化,Kirsch的分割法利用了這種現(xiàn)象。算法步驟用一個中偏低的灰度閾值對梯度圖像進行二值化從而檢測出物體和背景,物體與背景被處于閾值之上的邊界點帶分開。隨著閾值逐漸提高,就引起物體和背景的同時增長。當它們接觸上而又不至于合并時,可用接觸點來定義邊界。這是分水嶺算法在梯度圖像中的應用。 Kirsch的分割算法 8.3.3拉普拉斯邊緣檢測拉普拉斯算于是對二維函數(shù)進行運算的二階導數(shù)標量算子。它定義為: 一個無噪聲圖像具有陡峭的邊緣,可用拉普拉斯算子將它們找出來。對經(jīng)拉普拉斯算子濾波后的圖像用零灰度值進行二值化會產生閉合的、連通的輪廓并消除了所有的內部點。但是由于噪聲的存在,

32、在運用拉普拉斯算子之前需要先進行低通濾波。 選用高斯低通濾波器進行預先平滑是很合適的。由卷積的結合律可以將拉普拉斯算子和高斯脈沖響應組合成一個單一的高斯拉普拉斯核: 這個脈沖響應對x和y是可分離的,因此可以有效地加以實現(xiàn)。8.4 邊緣檢測和連接邊緣點 :確定圖像中的物體邊界的另一種方法是 先檢測每個像素和其直接鄰域的狀態(tài), 以決定該像素是否確實處于一個物體的 邊界上。具有所需特性的像素被標為邊 緣點。邊緣圖像:當圖像中各個像素的灰度級用來反映各 像素符合邊緣像素要求的程度時,這種 圖像被稱為邊緣圖像。 8.4.1邊緣檢測 邊緣檢測算子檢查每個像素的鄰域并對灰度變化率進行量化,通常也包括方向的確

33、定。有若干種方法可以使用,其中大多數(shù)是基于方向導數(shù)掩模求卷積的方法。Roherts邊緣算子 其中,f(x,y)是具有整數(shù)像素坐標的輸入圖像。其中的平方根運算使該處理類似于人類視覺系統(tǒng)中發(fā)生的過程。Sobel邊緣算子 兩個卷積核形成了Sobel邊緣算子。圖像中的每個點都用這兩個核做卷積。一個核對通常的垂直邊緣響應最大而另一個對水平邊緣響應最大。兩個卷積的最大值作為該點的輸出值。運算結果是一幅邊緣幅度圖像。 Sobel邊緣算子圖Prewitt邊緣算子 Prewitr邊緣算子Kirsch邊緣算子 圖像中的每個點均與這8個模板進行卷積,每個掩模對某個特定邊緣方向作出最大響應。所有8個方向中的最大值作為

34、邊緣幅度圖像的輸出。最大響應掩模的序號構成了對邊緣方向的編碼。Kirsch算子的梯度幅度值 Kirsch邊緣算子 Kirsch邊緣算子 邊緣檢測器性能:使用兩個掩模板組成邊緣檢測 器時,通常取較大得幅度作為輸出值。這使 得它們對邊緣的走向有些敏感。取它們的 平方和的開方可以獲得性能更致的全方位 響應。這與真實的梯度值更接近。 邊緣提取方法原圖 邊緣提取方法邊緣提取后8.4.2邊緣連接問題: 如果邊緣很明顯,而且噪聲級低,那么可以將邊緣圖像二值化并將其細化為單像素寬的閉合連通邊界圖。然而在非理想條件下,這種邊緣圖像會有間隙出現(xiàn),需要加以填充。 填充小的間隙可以簡單地實現(xiàn),通過搜索一個以某端點為中

35、心的55或更大的鄰域,在鄰域中找出其它端點并填充上必要的邊界像素,從而將它們連接起來。 對具有許多邊緣點的復雜場景,這種方法可能會對圖像過度分割。為了避免過度的分割,可以規(guī)定:兩個端點只有在邊緣強度和走向相近的情況下才能連接。解決方法啟發(fā)式搜索曲線擬合Hough變換(1) 啟發(fā)式搜索 假定在一幅邊緣圖像的某條邊界上有一個像間隙的缺口,但是這 個缺口太長而不能僅用一條直線填充,它還可能不是同一條邊界 上的缺口,可能在兩條邊界上。作為質量的度量,我們可以建立 一個可以在任意連接兩端點(稱為 A,B)的路徑上進行計算的函數(shù)。 如果邊緣質量函數(shù)很復雜而且要評價的缺口既多又長,啟發(fā)式搜索技術的計算會很復

36、雜。這樣的技術在相對簡單的圖像中性能很好,但不一定能找出兩端點間的全局最佳路徑。(2) 曲線擬合假定有一組散布在兩個特定邊緣點A和B之間的邊緣點,我們希望從中選取一個子集作為從A到B一條分段線性路徑上的結點集。 首先:從A到B引一條直線。其次:接著計算其它的每個邊緣點到該直線的垂直距離。 (3) Hough變換直線y=mx+b可用極坐標表示為 其中定義了一個從原點到線上最近點的向量。這個向量與該直線垂直。如果有一組位于由參數(shù)確定的直線上的邊緣點,則每個邊緣點對應了空間的一條正弦型曲線。所有這些曲線必交于點,因為這是它們共享的一條直線的參數(shù)。建立一個在空間的二維直方圖。對每個邊緣點,我們將給所有

37、與該點的Hough變換(正弦曲線)對應的空間的直方圖方格一個增量。當對所有邊緣點施行完這種操作后,包含的方格將具有局部最大值。然后對空間的直方圖進行局部最大值搜索可以獲得邊界線段的參數(shù)。hough直線檢測結果 原圖 直線檢測結果8.5 區(qū)域增長 方法:從把一幅圖像分成許多小區(qū)域開始的。這 些初始的區(qū)域可能是小的鄰域甚至是單個 像素。在每個區(qū)域中,對經(jīng)過適當定義的 能反映一個物體內成員隸屬程度的性質 (度量)進行計算。用于區(qū)分不同物體內像 素的性質(度量)包括平均灰度值,紋 理,或顏色信息。 區(qū)域增長算法主要分成兩類(1)簡單連接 這是基于單個像素的區(qū)域增長法,它從滿足的 檢測的點(連接核)開始

38、,考察其周圍(4鄰域或8鄰域)的不屬于任何一個區(qū)域的點,如果其特性符合接收準則,就把它作為同一個區(qū)域加以合并,形成連接核,繼而檢測周圍的點,并把符合接入準則的點并入,產生新的核。重復上述過程,直到?jīng)]有可并入的點時,生產過程結束。 (2)子區(qū)合并法 合并過程: 首先:將圖像分割成個,大小為的小區(qū)域(簡 稱子區(qū))。其次:從左上角第一個子區(qū)開始,分別計算子 區(qū)和相鄰子區(qū)的灰度統(tǒng)計量,然后做相 似性判定。若兩者的灰度分布相似且符 合接收準則。相鄰子區(qū)并入當前子區(qū), 形成下一輪判定合并時的當前子區(qū)。 如果某個相鄰子區(qū)不符合接收準則,就打上“未分割標記”。繼續(xù)新一輪判定,使當前子區(qū)不斷“生長”,知道沒有可

39、歸并的子區(qū)為止,一個區(qū)域分割完畢。最后:搜索圖像全域,對凡具有“未分割標記” 的子區(qū)重復上述步驟。相似性判定準則一般是:8.6 二值圖像處理 二值圖像也就是只具有兩個灰度級的圖像,它是數(shù)字圖像的一個重要子集。一個二值圖像(例如,一個剪影像或一個輪廓圖)通常是由一個圖像分割操作產生的。如果初始的分割不夠令人滿意,對二值圖像的某些形式的處理通常能提高其質量。 形態(tài)學圖像處理術語1. 集合論術語(Definition) 形態(tài)學處理語言中,二值圖像B和結構元素S都是定義在二維笛卡兒網(wǎng)格上的集 合,“1”是這些集合中的元素。 當一個結構元素的原點位移到點(x,y)處時,我們將其記作。形態(tài)學運算的輸出是另

40、一個集合,這個運算可用一個集合論方程來確定。2. 腐蝕和膨脹(Dilation and Erosion)(1) 腐蝕 一般意義的腐蝕概念定義為: E =B S=x,y| B 如果S的原點位移到點(x,y),那么S將完全包含于B中。使用基本的33結構元素時,一般意義的腐蝕簡化為簡單腐蝕。(2) 膨脹一般膨脹定義為: E =B S=x,y| B S對B膨脹產生的二值圖像D是由這樣的點(x,y)組成的集合,如果S的原點位移到(x,y),那么它與B的交集非空。采用基本的33結構造元素時,一般膨脹簡化為簡單膨脹。8.6.2開運算和閉運算開運算 :先腐蝕后膨脹的過程稱為開運算。它具有消除細小物體、在纖細點

41、處分離物體、和平滑較大物體的邊界時又不明顯改變其面積的作用。開運算定義為:閉運算 :先膨脹后腐蝕的過程稱為閉運算。它具有填充物體內細小空洞、連接鄰近物體、在不明顯改變物體面積的情況下平滑其邊界的作用。閉運算定義為: 8.6.3腐蝕和膨脹的變體 通常反復施以腐蝕運算,將使一個物體變得不存在。類似地,反復膨脹將把一幅圖像中的所有物體合并為一個。然而,這些過程可以改變一下,以便在一些應用中產生更合適的結果。(1) 收縮定義: 當腐蝕以一種不觸及單像素物件的方式執(zhí)行時,這個過程稱為收縮。 收縮可以迭代方式為一個包含近似圓形物體的二值圖像生成物體尺寸的分布。 收縮時會使非常不圓的物體(如啞鈴狀的物體)分

42、解,因此這種技術存它的局限性。(2) 細化定義:將一個曲線形物體細化為一條單像素寬的 線,從而圖形化地顯示出其拓撲性質。 腐蝕可編程過程: 第一步:足一個正常的腐蝕。 第二步:只將那些消除后并不破壞連通性的點消 除,否則保留。(3) 抽骨架定義:一個與細化有關的運算,也稱為中軸變 換(Medialaxis transform)或焚燒草地 技術(grass-fire technigue)。抽骨架的實現(xiàn)與細化相似可采用一個兩步有條件腐蝕實現(xiàn),但是刪除像素的規(guī)則略有不同。(4) 剪裁細化和抽骨架過程會在所生成的阿中留下毛刺。 毛刺是由邊界上單像素尺寸的起伏造成的,這些起伏產生了小的分支。它們可通進一

43、系列的消除端點的33運算(導致所有的分支縮短)除去,然后再重建那些留下的分支。 (5) 粗化一些分割技術傾向于用緊貼的邊界擬臺物體以避免錯誤地合并它們。通常孤立物體的最佳邊界太緊貼并不利于后續(xù)測量。粗化可在不合并彼此分離的物體的前提下擴大邊界,從而修正了這種不足。 原圖 腐蝕 膨脹 開操作 閉操作8.7 分割圖像的結構希望制作一幅新圖像,以顯示物體是如何調整的,或者用單獨的圖像顯示每個物體。甚至還可能希望對單個物體逐個地進行進一步的測量或其它處理。在這些情況下,就需要抽取并以更方便的形式存儲各個物體。通常,每個物體在被檢測時都應該標以一個序號。這個物體編號可用來識別和跟蹤景物中的物體。在這一節(jié)

44、,我們討論三種對分割圖像進行結構化的方法。 8.7.1分水嶺算法 分水嶺算法 分水嶺算法不是簡單地將圖像在最佳灰度級進行閾值處理,而是從一個偏低但仍然能正確分割各個物體的閾值開始。然后隨著閾值逐漸上升到最佳值,使各個物體不會被合并。這個方法可以解決那些由于物體靠得太近而不能用全局閾值解決的問題。 如果初始的閾值太低,那么低對比度的物體開始時會被丟失,然后隨著閾值的增加就會和相鄰的物體合并。如果初始閾值太高,物體一開始便會被合并。最終的閾值決定了最后的邊界與實際物體的吻合程度。分水嶺方法和距離變換方法分割相互連接圖像 二進制圖像 距離變換方法 分水嶺方法 8.7.2 物體隸屬關系圖在物體隸屬關系

45、圖中,每個像素的灰度級按其在原始圖像中所對應的像素所屬的物體序號進行編碼。 隸屬關系圖技術通用性很強,但它不是一種對保存分割信息特別緊湊的方法。它需要一幅附加的全尺寸的數(shù)字圖像來描述甚至只包含一個小物體的場景。如果僅對物體的大小和形狀感興趣,分割后可舍棄原始圖像。如果僅有一個物體或物體不需要區(qū)分,還可以進一步減少數(shù)據(jù)量。 8.7.3邊界鏈碼鏈碼是從在物體邊界上任意選取的某個起始點的(x,y)坐標開始的。這個起始點有8個鄰接點,其中至少有一個是邊界點。邊界鏈碼規(guī)定了從當前邊界點走到下一個邊界點這一步驟必須采用的方向。生成邊界鏈碼時,由于必須在整幅圖像中跟蹤邊界,所叫常常需要對輸入圖像進行隨機存取

46、。采用圖像分割中的邊界跟蹤技術時,鏈碼的生成是一個自然的副產品。采用二值方法確定邊界時,鏈碼的生成不適于對存儲在磁盤上的圖像進行逐行處置。 小結(Chapter Summary) 圖像分割是一個將一幅數(shù)字圖像劃分為不交疊的、連通的像素集的過程,其中一個對應于背景,其它的則對應于圖像中的各個物體。利用為物體指定其像差或找出物體之間(或物體和背景之間)邊界的方法來實現(xiàn)圖像分割;在圖像分割之間進行背景平滑和噪聲消除,常常能改善分割時的性能。圖像分割中采用自適應閾值方法較采用直方圖分割具有較好的分割效果。針對較為復雜的圖像我們則可以采用區(qū)域分割技術來實現(xiàn),針對圖像分割結果我們則可以通過采用隸屬關系圖,

47、邊界鏈碼,或線段編碼來存儲。Thank You !第9章 彩色圖像處理(Color Image Processing) 9.1 彩色基礎(Fundamentals of Color and Vision) 9.2 彩色模型(Color Models)9.3 偽彩色處理(Pseudocolor Image Processing)9.4 全彩色圖像處理(Full-Color Image Processing)9.5 彩色圖像分割(Color Image Segmentation) 9.1 彩色基礎(Fundamentals of Color and Vision) 白光 在17世紀,牛頓通過三棱鏡

48、研究對白光的折射就已發(fā)現(xiàn): 白光可被分解成一系列從紫到紅的連續(xù)光譜,從而證明白光是由不同顏色(而且這些顏色并不能再進一步被分解)的光線相混合而組成的??梢姽?可見光是由電磁波譜中相對較窄的波段組成,如果一個物體比較均衡地反射各種光譜,則人看到的物體是白的; 而如果一個物體對某些可見光譜反射的較多,則人看到的物體就呈現(xiàn)相對應的顏色。 例如,綠色物體反射具有500570nm(納米)范圍的光,吸收其他波長光的多數(shù)能量。9.1 彩色基礎(Fundamentals of Color and Vision)圖9.1 可見范圍電磁波譜的波長組成9.1 彩色基礎(Fundamentals of Color a

49、nd Vision)人眼的吸收特性: 人眼的錐狀細胞是負責彩色視覺的傳感器,人眼的錐狀細胞可分為三個主要的感覺類別。 大約65%的錐狀細胞對紅光敏感,33%對綠光敏感,只有2%對藍光敏感。 由于人眼的這些吸收特性,被看到的彩色是所謂的原色紅(R,red)、綠(G,green)和藍(B,blue)的各種組合。 9.1 彩色基礎(Fundamentals of Color and Vision)三原色原理 其基本內容是: 任何顏色都可以用3種不同的基本顏色按照不同比例混合得到,即 C=aC1+bC2+cC3 (9.1) 式中a,b,c =0 為三種原色的權值或者比例,C1、C2、C3為三原色(又稱

50、為三基色)。9.1 彩色基礎(Fundamentals of Color and Vision)三原色原理指出自然界中的可見顏色都可以用三種原色按一定比例混合得到;反之,任意一種顏色都可以分解為三種原色。作為原色的三種顏色應該相互獨立,即其中任何一種都不能用其他兩種混合得到。9.1 彩色基礎(Fundamentals of Color and Vision)三原色原理 為了標準化起見,國際照明委員會(CIE)規(guī)定用波長為700nm、546.1nm、435.8nm的單色光分別作為紅(R)、綠(G)、藍(B)三原色。 紅綠藍三原色按照比例混合可以得到各種顏色,其配色方程為: C=aR+bG+cB

51、(9.2)9.1 彩色基礎(Fundamentals of Color and Vision)三原色原理原色相加可產生二次色。 例如:紅色+藍色=深紅色(M,magenta),綠色+藍色=青色(C,cyan),紅色+綠色=黃色(Y,yellow)。以一定的比例混合光的三種原色或者以一種二次色與其相反的原色相混合可以產生白色(W,white),即:紅色+綠色+藍色=白色。9.1 彩色基礎(Fundamentals of Color and Vision)彩色到灰度的轉換相同亮度的三原色,人眼看去的感覺是,綠色光的亮度最亮,而紅色光其次,藍色光最弱。如果用Y來表示白色光,即光的亮度(灰度),則有如

52、下關系: Y=0.299R+0.587G+0.114B 9.1 彩色基礎(Fundamentals of Color and Vision)區(qū)分顏色常用三種基本特性量 亮度:如果無彩色就只有亮度一個維量的變化。 色調:是光波混合中與主波長有關的屬性,色調表示觀察者接收的主要顏色。這樣,當我們說一個物體是紅色、橘黃色、黃色時,是指它的色調。 飽和度:與一定色調的純度有關,純光譜色是完全飽和的,隨著白光的加入飽和度逐漸減少。9.1 彩色基礎(Fundamentals of Color and Vision) 色調和飽和度一起稱為彩色,因此,顏色用亮度和彩色表征。 形成任何特殊顏色需要的紅、綠、藍的

53、量稱做三色值,并分別表示為X,Y,Z。進一步,一種顏色可用它的3個色系數(shù)表示,它們分別是:從以上公式可得: x+y+z=1 1931年CIE制定了一個色度圖,如圖9.4所示,圖中波長單位是nm,用組成某種顏色的三原色的比例來規(guī)定這種顏色。 圖中橫軸代表紅色色系數(shù),縱軸代表綠色色系數(shù),藍色系數(shù)可由z=1-(x+y)求得。例如,圖9.4中標記為綠的點有62%的綠和25%的紅成分,從而得到藍的成分約為13%。9.2 彩色模型(Color Models)彩色模型(也稱彩色空間或彩色系統(tǒng))的用途是在某些標準下用通??山邮艿姆绞胶喕噬?guī)范。本質上,彩色模型是坐標系統(tǒng)和子空間的規(guī)范。位于系統(tǒng)中的每種顏色都

54、由單個點來表示。本節(jié)主要討論幾種圖像處理應用的主要模型。9.2.1 RGB模型(RGB Color Model)RGB模型RGB模型是目前常用的一種彩色信息表達方式,它使用紅、綠、藍三原色的亮度來定量表示顏色。該模型也稱為加色混色模型,是以RGB三色光相互疊加來實現(xiàn)混色的方法,因而適合于顯示器等發(fā)光體的顯示。 9.2.1 RGB模型(RGB Color Model)圖9.2 RGB混色效果圖 9.2.1 RGB模型(RGB Color Model) 圖9.3中,R,G,B位于三個角上;二次色深紅(Magenta)、青(Cyan)、黃(Yellow)位于另外3個角上,黑色在原點處,白色位于離原點

55、最遠的角上(點(1,1,1)。 在本模型中,不同的顏色處在立方體上或其內部,并可用從原點分布的向量來定義。為方便起見,假定所有的顏色值都歸一化,即所有R,G,B的值都在0,1范圍內取值。 9.2.1 RGB模型(RGB Color Model) 考慮RGB圖像,其中每一幅紅、綠、藍圖像都是一幅8bit圖像,在這種條件下,每一個RGB彩色像素有24bit深度(3個圖像平面乘以每平面比特數(shù),即38)。 24bit的彩色圖像也稱全彩色圖像。在24bitRGB圖像中顏色總數(shù)是224=16777216。9.2.1 RGB模型(RGB Color Model) 一幅m*n(m,n為正整數(shù),分別表示圖像的高

56、度和寬度)的RGB彩色圖像可以用一個m*n*3的矩陣來描述,圖像中的每一個像素點對應于紅、綠、藍三個分量組成的三元組。 在Matlab中,不同的圖像類型,其圖像矩陣的取值范圍也不一樣。例如若一幅RGB圖像是 double類型的,則其取值范圍在0, 1之間,而如果是uint8或者uint16類型的,則取值范圍分別是0, 255和0, 65535。9.2.1 RGB模型(RGB Color Model)在Matlab中要生成一幅RGB彩色圖像可以采用cat函數(shù)來得到。其基本語法如下: B=cat(dim, A1, A2, A3, ) 其中,dim為維數(shù),cat函數(shù)將A1,A2,A3等矩陣連接成維數(shù)

57、為dim的矩陣。9.2.1 RGB模型(RGB Color Model)對圖像生成而言,可以取dim=3,然后將三個分別代表RGB分量的矩陣連接在一起: I=cat(3, rgb_R, rgb_G, rgb_B)在這里,rgb_R,rgb_G,rgb_B分別為生成的RGB圖像I的三個分量的值,可以使用下列語句:rgb_R=I(:, :, 1);rgb_G=I(:, :, 2);rgb_B=I(:, :, 3);9.2.1 RGB模型(RGB Color Model)例:生成一幅128*128的RGB圖像,該圖像左上角為紅色,左下角為藍色,右上角為綠色,右下角為黑色。程序:clearrgb_R=

58、zeros(128,128);rgb_R(1:64,1:64)=1;rgb_G=zeros(128,128);rgb_G(1:64,65:128)=1;rgb_B=zeros(128,128);rgb_B(65:128,1:64)=1;rgb=cat(3,rgb_R,rgb_G,rgb_B);figure, imshow(rgb), title(RGB彩色圖像); 結果:9.2.2 HSI模型(HSI Color Model)HSI(Hue-Saturation-Intensity,HSI)模型用H、S、I三參數(shù)描述顏色特性。H定義顏色的波長,稱為色調;S表示顏色的深淺程度,稱為飽和度;I表示

59、強度或亮度。 9.2.2 HSI模型(HSI Color Model)HSI模型在圖像處理和識別中廣泛采用主要基于兩個重要的事實:其一 I分量與圖像的彩色信息無關;其二 H和S分量與人感受顏色的方式是緊密相連的。 9.2.2 HSI模型(HSI Color Model)包含彩色信息的兩個參數(shù)是色度(H)和飽和度(S)。色度H由角度表示,彩色的色度反映了該彩色最接近什么樣的光譜波長(即彩虹中的那種顏色)。不失一般性,可以假定0o的彩色為紅色,120o的為綠色,240o的為藍色。色度從0o360o覆蓋了所有可見光譜的彩色。 9.2.2 HSI模型(HSI Color Model) 飽和度S表示顏色

60、的深淺程度,飽和度越高,顏色越深,如深紅,深綠等。飽和度參數(shù)是色環(huán)的原點(圓心)到彩色點的半徑的長度。 如圖9.9所示。在環(huán)的外圍圓周是純的或稱飽和的顏色,其飽和度值為1。在中心是中性(灰色),即飽和度為0。 亮度I是指光波作用于感受器所發(fā)生的效應,其大小由物體反射系數(shù)來決定。反射系數(shù)越大,物體的亮度越大,反之越小。9.2.2 HSI模型(HSI Color Model) 如果把亮度作為色環(huán)的垂線,那么H、S、I構成一個柱形彩色空間。 HSI模型的三個屬性定義了一個三維柱形空間, 如圖9.10所示:圖9.10 柱形彩色空間1. 從RGB模型轉換到HSI模型 從RGB到HSI的變換是一個非線性變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論