專利名稱:利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理與機(jī)器視覺技術(shù)領(lǐng)域,具體涉及一種利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法,主要應(yīng)用于水下機(jī)器人的光視覺處理。
背景技術(shù):
簡單而言,機(jī)器視覺就是針對(duì)獨(dú)立的機(jī)器人,通過對(duì)視覺信息數(shù)據(jù)的傳感、采集、 轉(zhuǎn)換與處理來為其提供有視神經(jīng)功能的眼睛。在視覺的處理與推理過程中,處理包括對(duì)感興趣信息的提取和求解等視覺信號(hào)處理技術(shù),推理則主要是根據(jù)已有的和新獲得的多方面知識(shí)信息進(jìn)行的高層次邏輯推理活動(dòng)。機(jī)器視覺借助于先進(jìn)的計(jì)算機(jī)和處理器通過數(shù)字技術(shù)分析數(shù)字化圖像實(shí)現(xiàn)視覺感知,其核心是理解圖像,而圖像處理技術(shù)則是其基石。雖然圖像處理、模式識(shí)別等相關(guān)技術(shù)方法獲得了廣泛而深入的研究,但是對(duì)于一套真正應(yīng)用的機(jī)器視覺系統(tǒng)來說,環(huán)境適應(yīng)性與穩(wěn)定性輸出等問題依然有待解決。在視覺處理過程中,包括圖像濾波、邊緣檢測、區(qū)域分割、形態(tài)處理等處理算法均需要大量使用閾值進(jìn)行二值化。而實(shí)際場合下的視覺圖像是復(fù)雜多變的,單一設(shè)定閾值顯然無法適應(yīng)視覺需要。
發(fā)明內(nèi)容
針對(duì)上述問題,申請人進(jìn)行了改進(jìn)研究,提供一種利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法,可以自動(dòng)根據(jù)圖像灰度變化與分布情況獲得圖像處理所需要的閾值,保證了實(shí)際場合下機(jī)器視覺處理與理解技術(shù)的需要。本發(fā)明的技術(shù)方案如下
一種利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法,具體步驟如下 步驟1)采集并讀取數(shù)字化灰度圖像,將其存入一個(gè)二維圖像數(shù)組中,遍歷該圖像數(shù)組,獲得數(shù)字化圖像的灰度直方步驟2):通過灰度直方圖計(jì)算獲得圖像的平均灰度、最大灰度和最小灰度,據(jù)此調(diào)節(jié)照明的亮度;對(duì)于平均灰度小于25%、最大灰度小于50%的情況提高照明的亮度;對(duì)于平均灰度大于75%、最小灰度大于50%的情況減弱照明的亮度;其余情況不調(diào)節(jié);
步驟3):通過灰度直方圖計(jì)算獲得圖像的灰度均方差,據(jù)此初步剔除無目標(biāo)存在的圖像;當(dāng)無目標(biāo)存在時(shí),將圖像的灰度均方差作為當(dāng)前采集圖像的噪聲級(jí),并不作處理;當(dāng)有目標(biāo)存在時(shí),繼續(xù)進(jìn)行圖像處理;
步驟4):通過求取灰度直方圖背景峰值處的灰度值以及目標(biāo)峰值處的灰度值,判斷圖像屬于單峰分布還是雙峰分布,據(jù)此再次剔除無目標(biāo)存在的圖像;若為單峰分布,表明圖像中無目標(biāo)存在,不作處理;若為雙峰分布,表明圖像中有典型目標(biāo)存在,繼續(xù)進(jìn)行圖像處理;
步驟5)分別計(jì)算灰度直方圖的二階、三階和四階統(tǒng)計(jì)量,獲取圖像的平均能量、灰度偏倚系數(shù)以及峰凸系數(shù);根據(jù)得到的灰度偏倚系數(shù)、峰凸系數(shù)的變化曲線,進(jìn)一步剔除無目標(biāo)存在的圖像;對(duì)有目標(biāo)存在的圖像繼續(xù)進(jìn)行圖像處理;
步驟6):利用Otsu方法求取灰度直方圖中背景與目標(biāo)分割的最佳閾值,據(jù)此提取區(qū)域輪廓,使得目標(biāo)與背景之間的差異最為明顯,實(shí)現(xiàn)數(shù)字化圖像的多閾值分割。本發(fā)明的有益技術(shù)效果是
本發(fā)明利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法,可以自動(dòng)根據(jù)圖像灰度變化與分布情況獲得圖像處理所需要的閾值,保證了實(shí)際場合下機(jī)器視覺處理與理解技術(shù)的需要。
圖1是本發(fā)明的流程圖。圖2是灰度直方圖示例。圖3是灰度偏倚系數(shù)的統(tǒng)計(jì)曲線。圖4是峰凸系數(shù)的統(tǒng)計(jì)曲線。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做進(jìn)一步說明。如圖1所示,本發(fā)明利用圖像統(tǒng)計(jì)特征的自適應(yīng)處理方法的具體步驟為 SOl 獲得數(shù)字化圖像的灰度直方圖
灰度直方圖是灰度級(jí)的函數(shù),描述的是圖像中具有該灰度級(jí)的像素的個(gè)數(shù)其橫坐標(biāo)是灰度級(jí),縱坐標(biāo)是該級(jí)灰度在圖像中出現(xiàn)的像素個(gè)數(shù);灰度直方圖示例見圖2?;叶戎狈綀D函數(shù)概括了一幅圖像的灰度級(jí)內(nèi)容,包含了圖像可觀的信息量。其步驟為采集并讀取數(shù)字化灰度圖像,清空一個(gè)二維圖像數(shù)組,將灰度圖像存入該二維圖像數(shù)組中,各個(gè)像素點(diǎn)的灰度值均在(Γ255范圍內(nèi);遍歷該圖像數(shù)組,計(jì)算各個(gè)灰度值的計(jì)數(shù),獲得數(shù)字化圖像的灰度直方圖;并可計(jì)算出0 255之間任意一級(jí)灰度的概率。具體實(shí)現(xiàn)代碼如下(/* */之間為代碼表示的意義,下同) int Hist[256] ;/* 直方圖 */
double ρ [256] ;/*灰度概率密度*/ UINT8 *plmage;/* 圖像指針 */ int nffidth, nHeight;/*圖像的寬度和高度*/ /*重置計(jì)數(shù)清零*/ for(i=0;i<=255;i++) Hist[i]=0;
/*計(jì)算各個(gè)灰度值的計(jì)數(shù),即得到直方圖*/
for (y=0;y<nHeight;y++)
{
for (x=0;x<nffidth;x++)
{
k=pImage [y*nffidth+x] ; /* 當(dāng)前的像素灰度 */ /*計(jì)數(shù)加1 */ Hist[k]=Hist[k]+l;}
/*計(jì)算灰度為i的概率*/
for(i=0;i<=255;i++)
{
ρ[i] = (double)(Hist[i])/(nWidth*nHeight);
}
S02 :計(jì)算圖像的平均灰度、最大灰度和最小灰度
對(duì)于水下視頻圖像,能見度較低,需要經(jīng)常性、動(dòng)態(tài)調(diào)節(jié)水下照明的亮度。通過灰度直方圖計(jì)算獲得圖像的平均灰度、最大灰度和最小灰度后,進(jìn)行自動(dòng)判別。對(duì)于平均灰度小于 25%、最大灰度小于50%的情況需要逐步提高燈光的亮度;對(duì)于平均灰度大于75%、最小灰度大于50%的情況需要逐步減弱燈光的亮度;其余情況不作調(diào)節(jié)。
具體實(shí)現(xiàn)代碼如下 /*計(jì)算圖像的平均灰度*/ sum=0;
for(i=0;i<=255;i++)
{
sum=sum+i*p[i] ; /* 灰度累力口 */
}
AverageGray=Sum; /*圖像的灰度平均值*/
/*計(jì)算圖像的最大灰度值*/
k=0;
for(i=255;i>=0;i—)
{
if(Hist[i]>=200)
{
k=i; break;
ι
ι
HighGrey=k; /*圖像的最大灰度值*/
/*計(jì)算圖像的最小灰度值*/
k=0;
for(i=0;i<=255;i++)
{
if(Hist[i]>=200)
{
k=i; break;}
}
LowGrey=k; /*圖像的最小灰度值*/
if ((AverageGray<=256*0.25) && (HighGrey<=256*0. 5))
{
/*未充分利用0 255級(jí)灰度*/ /*圖像整體偏暗*/
/*需要增強(qiáng)光照,同時(shí)提高圖像采集亮度參數(shù)*/
}
if ((AverageGray>=256*0. 75) && (LowGrey>=256*0. 5))
{
/*未充分利用0 255級(jí)灰度*/
/*圖像整體偏亮*/
/*需要減弱光照,同時(shí)降低圖像采集亮度參數(shù)*/
}
503計(jì)算圖像的灰度均方差
圖像的灰度均方差反映圖像中目標(biāo)與背景的對(duì)比度。當(dāng)灰度均方差過小時(shí)可基本確定圖像中無可疑目標(biāo)存在,剔除無目標(biāo)存在的圖像不作處理。而當(dāng)無目標(biāo)存在時(shí)圖像的灰度均方差則表征了當(dāng)前采集圖像的噪聲級(jí)。具體實(shí)現(xiàn)代碼如下
/*計(jì)算圖像的灰度均方差*/ sum=0;
for(i=0;i<=255;i++)
{
sum=sum+pow (i-AverageGray, 2)*p[i];
ι
GreyDiff=Sqrt (sum) ; /*圖像的灰度均方差*/
504分析直方圖特征,判斷圖像屬于單峰分布還是雙峰分布
其步驟為首先求取背景峰值處的灰度值,再求取目標(biāo)峰值處的灰度值,最后判斷圖像屬于單峰分布還是雙峰分布。單峰圖像一般為背景圖像的噪聲分布,表明無目標(biāo)存在,剔除無目標(biāo)存在的圖像不作處理;而雙峰特征一般表明圖像中有典型目標(biāo)存在。具體實(shí)現(xiàn)代碼如下
/*求取背景峰值處的灰度值*/ max—bp=0; bp=0;
for(i=0;i〈ostu;i++) {
if (max—bp〈Hist[i]){
max_bp=Hist[i]; bp=i ;
}
}
/*求取目標(biāo)峰值處的灰度值*/ max_tp=0; tp=0;
for(i=ostu;i<=255;i++)
{
if (max—tp〈Hist[i])
{
max_tp=Hist[i]; tp=i ;
}
}
/*判斷圖像屬于單峰分布還是雙峰分布*/ HistType=I; /*默認(rèn)為單峰分布*/
for(i=bp;i<=tp;i++)
{
if (Hist [i] <=min (max—bp,max_tp) *0. 25)
{
HistType=2; /* 雙峰分布 */
}
}
S05 :計(jì)算圖像的平均能量、灰度偏倚系數(shù)以及峰凸系數(shù)
分別計(jì)算圖像的灰度偏倚系數(shù)、計(jì)算圖像的峰凸系數(shù)、計(jì)算圖像的能量表征。圖像的平均能量、灰度偏倚系數(shù)以及峰凸系數(shù)分別為數(shù)字圖像的二階、三階和四階統(tǒng)計(jì)量。具體實(shí)現(xiàn)代碼如下
/*計(jì)算圖像的灰度偏倚系數(shù)*/ sum=0;
for(i=0;i<=255;i++)
sum=sum+pow(i- AverageGray, 3)*p[i]; GreyDeflect=Sum; /*圖像的灰度偏倚系數(shù)*/ /*計(jì)算圖像的峰凸系數(shù)*/ sum=0;
for(i=0;i<=255;i++)
sum=sum+pow(i_ AverageGrayj 4)^p[i];GreyBulge=sum-3; /*圖像的峰凸系數(shù)*/ /*計(jì)算圖像的能量表征*/ sum=0;
for(i=0;i<=255;i++)
sum=sum+pow(ρ[i], 2); GreyPower=sum; /*圖像的能量表征*/
根據(jù)在水池試驗(yàn)中獲得圖像的統(tǒng)計(jì)特征變化曲線進(jìn)行分析,如圖3、圖4所示的灰度偏倚系數(shù)和峰凸系數(shù)可以非常直觀地反映當(dāng)前圖像中是否存在可以目標(biāo),從而有效縮短無謂處理時(shí)間。具體實(shí)現(xiàn)代碼如下
if ((fabs(GreyDeflect)<0. 3) && (GreyBulge<0. 6))
{
printf(〃no target in vision\n〃);
ι
S06 利用Otsu方法求背景與目標(biāo)分割的最佳閾值
一般而言,目標(biāo)中的深色像素產(chǎn)生了直方圖上的高灰度區(qū)右峰,而背景中大量的灰度級(jí)產(chǎn)生了低灰度區(qū)的右峰。目標(biāo)邊界附近具有兩個(gè)峰值之間灰度級(jí)的像素?cái)?shù)目相對(duì)較少, 從而產(chǎn)生了雙峰之間的谷。根據(jù)統(tǒng)計(jì)規(guī)律選擇谷中某一灰度能夠使得目標(biāo)與背景之間的差異最為明顯,這就是Otsu的最佳閾值。具體實(shí)現(xiàn)代碼如下
/*計(jì)算Otsu的最佳閾值*/ max=0; Otsu=O;
/*求得最大的比較值,其數(shù)組角標(biāo)即為最佳閾值*/
for(i=0;i<=255;i++)
{
Bp=O;/*背景概率*/ Bpm=O;/*背景均值*/
for(j=0;j<=i;j++)
{
Bp=Bp+p[j]; Bpm=Bpm+j氺ρ[j];
}
Bpm=Bpm/Bp; Tp=O;/*目標(biāo)概率*/ Tpm=O;/*目標(biāo)均值*/
for(j=i+l;j<=255;j++)
{
Tp=Tp+p[j];Tpm=Tpm+j氺ρ [j];
}
Tpm=Tpm/Tp; Ipm=Tpm氺Tp+Bpm氺Bp;
P [i] =Tp^pow (Tpm-Ipm, 2)+Bp*pow(Bpm_Ipm,2);
if (max<P[i])
{
max=P[i]; ostu=i;
ι
ι
根據(jù)最佳閾值提取區(qū)域輪廓,使得目標(biāo)與背景之間的差異最為明顯,實(shí)現(xiàn)數(shù)字化圖像的多閾值分割。 以上所述的僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明不限于以上實(shí)施例??梢岳斫猓绢I(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和構(gòu)思的前提下直接導(dǎo)出或聯(lián)想到的其他改進(jìn)和變化,均應(yīng)認(rèn)為包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法,其特征在于具體步驟如下 步驟1)采集并讀取數(shù)字化灰度圖像,將其存入一個(gè)二維圖像數(shù)組中,遍歷該圖像數(shù)組,獲得數(shù)字化圖像的灰度直方圖;步驟2):通過灰度直方圖計(jì)算獲得圖像的平均灰度、最大灰度和最小灰度,據(jù)此調(diào)節(jié)照明的亮度;對(duì)于平均灰度小于25%、最大灰度小于50%的情況提高照明的亮度;對(duì)于平均灰度大于75%、最小灰度大于50%的情況減弱照明的亮度;其余情況不調(diào)節(jié);步驟3):通過灰度直方圖計(jì)算獲得圖像的灰度均方差,據(jù)此初步剔除無目標(biāo)存在的圖像;當(dāng)無目標(biāo)存在時(shí),將圖像的灰度均方差作為當(dāng)前采集圖像的噪聲級(jí),并不作處理;當(dāng)有目標(biāo)存在時(shí),繼續(xù)進(jìn)行圖像處理;步驟4)通過求取灰度直方圖背景峰值處的灰度值以及目標(biāo)峰值處的灰度值,判斷圖像屬于單峰分布還是雙峰分布,據(jù)此再次剔除無目標(biāo)存在的圖像;若為單峰分布,表明圖像中無目標(biāo)存在,不作處理;若為雙峰分布,表明圖像中有典型目標(biāo)存在,繼續(xù)進(jìn)行圖像處理;步驟5)分別計(jì)算灰度直方圖的二階、三階和四階統(tǒng)計(jì)量,獲取圖像的平均能量、灰度偏倚系數(shù)以及峰凸系數(shù);根據(jù)得到的灰度偏倚系數(shù)、峰凸系數(shù)的變化曲線,進(jìn)一步剔除無目標(biāo)存在的圖像;對(duì)有目標(biāo)存在的圖像繼續(xù)進(jìn)行圖像處理;步驟6):利用Otsu方法求取灰度直方圖中背景與目標(biāo)分割的最佳閾值,據(jù)此提取區(qū)域輪廓,使得目標(biāo)與背景之間的差異最為明顯,實(shí)現(xiàn)數(shù)字化圖像的多閾值分割。
全文摘要
本發(fā)明涉及一種利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法。首先獲得數(shù)字化圖像的灰度直方圖,計(jì)算獲得圖像的平均灰度、最大灰度和最小灰度,調(diào)節(jié)照明的亮度;計(jì)算獲得圖像的灰度均方差,初步剔除無目標(biāo)存在的圖像;求取灰度直方圖背景峰值處的灰度值以及目標(biāo)峰值處的灰度值,再次剔除無目標(biāo)存在的圖像;獲取圖像的平均能量、灰度偏倚系數(shù)以及峰凸系數(shù),進(jìn)一步剔除無目標(biāo)存在的圖像;利用Otsu方法求取灰度直方圖中背景與目標(biāo)分割的最佳閾值,實(shí)現(xiàn)數(shù)字化圖像的多閾值分割。本發(fā)明利用圖像統(tǒng)計(jì)特征的自適應(yīng)圖像處理方法,可以自動(dòng)根據(jù)圖像灰度變化與分布情況獲得圖像處理所需要的閾值,保證了實(shí)際場合下機(jī)器視覺處理與理解技術(shù)的需要。
文檔編號(hào)G06T5/00GK102169580SQ201110086938
公開日2011年8月31日 申請日期2011年4月8日 優(yōu)先權(quán)日2011年4月8日
發(fā)明者徐鵬飛 申請人:中國船舶重工集團(tuán)公司第七○二研究所