圖像閾值分割_第1頁
圖像閾值分割_第2頁
圖像閾值分割_第3頁
圖像閾值分割_第4頁
圖像閾值分割_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1引言所謂圖像分割是指根據(jù)灰度、彩色、空間紋理、幾何形狀等特征把圖像劃分成若干個互不相交的區(qū)域,使得這些特征在同一區(qū)域內(nèi),表現(xiàn)出一致性或相似性,而在不同區(qū)域間表現(xiàn)出明顯的不同37簡單的講,就是在一幅圖像中,把目標(biāo)從背景中分離出來,以便于進(jìn)一步處理。圖像分割是圖像處理與計算機(jī)視覺領(lǐng)域低層次視覺中最為基礎(chǔ)和重要的領(lǐng)域之一,它是對圖像進(jìn)行視覺分析和模式識別的基本前提同時它也是一個經(jīng)典難題,到目前為止既不存在一種通用的圖像分割方法,也不存在一種判斷是否分割成功的客觀標(biāo)準(zhǔn)。閾值法是一種傳統(tǒng)的圖像分割方法,因其實現(xiàn)簡單、計算量小、性能較穩(wěn)定而成為圖像分割中最基本和應(yīng)用最廣泛的分割技術(shù)已被應(yīng)用于很多的領(lǐng)域,

2、例如,在紅外技術(shù)應(yīng)用中,紅外無損檢測中紅外熱圖像的分割,紅外成像跟蹤系統(tǒng)中目標(biāo)的分割;在遙感應(yīng)用中,合成孔徑雷達(dá)圖像中目標(biāo)的分割等;在醫(yī)學(xué)應(yīng)用中,血液細(xì)胞圖像的分割,磁共振圖像的分割;在農(nóng)業(yè)工程應(yīng)用中,水果品質(zhì)無損檢測過程中水果圖像與背景的分割。在工業(yè)生產(chǎn)中,機(jī)器視覺運用于產(chǎn)品質(zhì)量檢測等等。在這些應(yīng)用中,分割是對圖像進(jìn)一步分析、識別的前提,分割的準(zhǔn)確性將直接影響后續(xù)任務(wù)的有效性,其中閾值的選取是圖像閾值分割方法中的關(guān)鍵技術(shù)。2閾值分割的基本概念圖像閾值化分割是一種最常用,同時也是最簡單的圖像分割方法,它特別適用于目標(biāo)和背景占據(jù)不同灰度級范圍的圖像1。它不僅可以極大的壓縮數(shù)據(jù)量,而且也大大簡化了

3、分析和處理步驟,因此在很多情況下,是進(jìn)行圖像分析、特征提取與模式識別之前的必要的圖像預(yù)處理過程。圖像閾值化的目的是要按照灰度級,對像素集合進(jìn)行一個劃分,得到的每個子集形成一個與現(xiàn)實景物相對應(yīng)的區(qū)域,各個區(qū)域內(nèi)部具有一致的屬性,而相鄰區(qū)域布局有這種一致屬性。這樣的劃分可以通過從灰度級出發(fā)選取一個或多個閾值來實現(xiàn)。閾值分割法是一種基于區(qū)域的圖像分割技術(shù),其基本原理是:通過設(shè)定不同的特征閾值,把圖像像素點分為若干類常用的特征包括:直接來自原始圖像的灰度或彩色特征;由原始灰度或彩色值變換得到的特征設(shè)原始圖像為f(x,y),按照一定的準(zhǔn)則在f(x,y)中找到特征值T,將圖像分割為兩個部分,分割后的圖像為

4、若取 :b0=0(黑),b1=1(白),即為我們通常所說的圖像二值化。 (原始圖像) (閾值分割后的二值化圖像)一般意義下,閾值運算可以看作是對圖像中某點的灰度、該點的某種局部特性以及該點在圖像中的位置的一種函數(shù),這種閾值函數(shù)可記作 T(x,y,N(x,y),f(x,y)式中,f(x,y)是點(x,y)的灰度值;N(x,y)是點(x,y)的局部鄰域特性根據(jù)對T的不同約束,可以得到3種不同類型的閾值37,即 點相關(guān)的全局閾值TT(f(x,y) (只與點的灰度值有關(guān))區(qū)域相關(guān)的全局閾值TT(N(x,y),f(x,y) (與點的灰度值和該點的局部鄰域特征有關(guān)) 局部閾值或動態(tài)閾值TT(x,y,N(x

5、,y),f(x,y)(與點的位置、該點的灰度值和該點鄰域特征有關(guān))所有這些閾值化方法,根據(jù)使用的是圖像的局部信息還是整體信息,可以分為上下文無關(guān)(non-contextual)方法(也叫做基于點(point-dependent)的方法)和上下文相關(guān)(contextual)方法(也叫做基于區(qū)域(region-dependent)的方法);根據(jù)對全圖使用統(tǒng)一閾值還是對不同區(qū)域使用不同閾值,可以分為全局閾值方法(global thresholding)和局部閾值方法(local thresholding,也叫做自適應(yīng)閾值方法adaptive thresholding);另外,還可以分為雙閾值方法(b

6、ilever thresholding)和多閾值方法(multithresholding)3. 設(shè)計原理說明 這次VC+設(shè)計主要是基于迭代閾值圖像分割法,它的設(shè)計方法如下。初始閾值選取為圖像的平均灰度T0,然后用T0將圖像的象素點分作兩部分,計算兩部分各自的平均灰度,小于T0的部分為TA,大于T0的部分為TB計算 ,將T1 作為新的全局閾值代替T0,重復(fù)以上過程,如此迭代,直至TK 收斂,即TK1 TK 經(jīng)試驗比較,對于直方圖雙峰明顯,谷底較深的圖像,迭代方法可以較快地獲得滿意結(jié)果。 對于背景和物體直方圖雙峰明顯的圖像進(jìn)行迭代閾值分割,把目標(biāo)從背景中分離出來,以便于進(jìn)一步處理。此次設(shè)計就是利用

7、VC平臺建立一個軟件程序?qū)D像進(jìn)行迭代閾值分割。VC界面比比較簡潔,主要功能是打開目標(biāo)背景BMP圖像文件,并且在主界面下顯示圖像。通過對圖像的迭代閾值分割操作,然后將已經(jīng)分割的圖像在主界面下顯示。4算法流程設(shè)計對圖像進(jìn)行閾值分割顯示圖像打開圖像結(jié)束開始顯示處理后的圖像Fig.1算法流程圖5實現(xiàn)步驟1) 打開VC+軟件,進(jìn)入主界面,建立一個單文檔的應(yīng)用項目。2) 在主框架添加菜單“圖像處理”,并在此菜單下添加如下子菜單“顯示原圖像”、“圖像閾值分割”、“顯示圖像分割結(jié)果”3)把代碼輸入后編譯通過,實現(xiàn)“顯示原圖像”功能,并以對話框的形式顯示4)對圖像作“迭代閾值分割”處理5)在主界面下顯示“迭代

8、閾值分割”的圖像,并以對話框的形式顯示。6)保存圖像文件6運行結(jié)果的截圖Fig.2主界面Fig.3 顯示原目標(biāo)背景圖像Fig.4 顯示迭代閾值分割結(jié)果7.部分主要程序代碼/圖像閾值分割程序#include "stdafx.h"#include "windowsx.h"#include "math.h"#include "YuZhiChuLidib.h"#include "MainFrm.h"/*/ /*函數(shù)名稱:Diedaifazhi(int *tongji) /*函數(shù)類型:void/*參數(shù)說明

9、:tonji -直方圖灰度值統(tǒng)計 /*功能:對圖像進(jìn)行迭代閥值選取。 /*/ void CYuZhiChuLiDib:Diedaifazhi(int *tongji) / 循環(huán)變量LONG i;LONG j;/ 指向DIB象素指針LPBYTE p_data;/ 找到DIB圖像象素起始位置p_data = GetData();/ DIB的寬度LONG wide = this->GetDibWidthBytes();/ DIB的高度LONG height = this->GetHeight();/ 迭代閥值int T1, T2;T1 = 127;T2 = 0;/ 臨時變量int Tem

10、p0, Temp1, Temp2, Temp3;Temp0 = Temp1 = Temp2 = Temp3 = 0;while (true)/ 計算下一個迭代閥值for (i = 0; i < T1 + 1; i+)Temp0 += tongjii * i;Temp1 += tongjii;for (i = T1 + 1; i < 256; i+)Temp2 += tongjii * i;Temp3 += tongjii;T2 = (Temp0 / Temp1 + Temp2 / Temp3) / 2;/ 看迭代結(jié)果是否已收斂if (T1 = T2)break;elseT1 = T

11、2;/ 對各像素進(jìn)行灰度轉(zhuǎn)換for (j = 0; j < height; j +)for (i = 0; i < wide; i +)/ 讀取像素unsigned char temp = *(unsigned char *)p_data + wide * j + i);/ 判斷像素灰度值是否超出范圍if (temp < T1)temp = 0;elsetemp = 255;/ 回寫處理完的像素*(unsigned char *)p_data + wide * j + i) = temp;void CYuZhiChuLiDib:Fenbutongji(int *tongji)

12、/ 循環(huán)變量LONG i;LONG j;/變量初始化memset(tongji,0,sizeof(int) * 256);/ 指向DIB象素指針LPBYTE p_data;/ 找到DIB圖像象素起始位置p_data = this->GetData();/ DIB的寬度LONG wide = GetDibWidthBytes();/ DIB的高度LONG height = GetHeight();/ 對各像素進(jìn)行灰度轉(zhuǎn)換for (j = 0; j < height; j +)for (i = 0; i <wide; i+)/ 對各像素進(jìn)行灰度統(tǒng)計unsigned char te

13、mp = *(unsigned char *)p_data + wide * j + i);tongjitemp+; 顯示原圖像:void CLXHView:OnOriginal() / TODO: Add your command handler code herem_dialogOriginal.DestroyWindow();m_dialogOriginal.Create(m_filename);m_dialogOriginal.ShowWindow(SW_SHOW);閾值分割:void CLXHView:OnYuzhifenge() / TODO: Add your command h

14、andler code hereif(m_CDibNew.m_valid=TRUE)this->CopyOriginaltoNew();int tongji256;/初始為0memset(tongji, 0, sizeof(tongji);m_CDibNew.Fenbutongji(tongji); /統(tǒng)計直方圖灰度值m_CDibNew.Diedaifazhi(tongji); /調(diào)用迭代法值檢測處理函數(shù)else:MessageBox(NULL,"沒有加載圖像","錯誤",MB_ICONWARNING);顯示分割結(jié)果:void CLXHView:OnResult() / TODO: Add your comm

溫馨提示

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

最新文檔

評論

0/150

提交評論