在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文搞懂圖像二值化算法

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2021-04-15 15:02 ? 次閱讀

傳統(tǒng)的機器視覺通常包括兩個步驟:

預(yù)處理和物體檢測。而溝通二者的橋梁則是圖像分割(Image Segmentation)[1]。圖像分割通過簡化或改變圖像的表示形式,使得圖像更易于分析。

舉個例子,食品加工廠新進了一批肉雞,想通過視覺檢測其美味程度。機器在預(yù)處理優(yōu)化完圖像之后,要先把圖像中的雞肉和背景分開,并對感興趣的區(qū)域單獨進行分析,才能做出快速準(zhǔn)確的判斷。

0cb27b9e-9cde-11eb-8b86-12bb97331649.gif

食品加工廠的視覺處理

然而,圖像分割對愚蠢的AI來說并不容易。聰明的人類一眼就能看出下圖中哪些東西能吃、哪些不能吃。但計算機要把這些東西分開卻得花費一番功夫。

原圖

0d36c156-9cde-11eb-8b86-12bb97331649.jpg

圖像分割結(jié)果

最簡單的圖像分割方法是二值化(Binarization)。

圖像二值化( Image Binarization)就是將圖像上的像素點的灰度值設(shè)置為0或255,也就是將整個圖像呈現(xiàn)出明顯的黑白效果的過程。二值圖像每個像素只有兩種取值:要么純黑,要么純白。

0d4c7ae6-9cde-11eb-8b86-12bb97331649.jpg

彩色圖、灰度圖、二值圖對比

由于二值圖像數(shù)據(jù)足夠簡單,許多視覺算法都依賴二值圖像。通過二值圖像,能更好地分析物體的形狀和輪廓。二值圖像也常常用作原始圖像的掩模(又稱遮罩、蒙版,Mask):它就像一張部分鏤空的紙,把我們不感興趣的區(qū)域遮掉。進行二值化有多種方式,其中最常用的就是采用閾值法(Thresholding)進行二值化。

計算機視覺里,一般用矩陣來表示圖像。也就是說,無論你的圖片看上去多么好吃,對計算機來說都不過是個矩陣而已。

在這個矩陣?yán)铮恳粋€像素就是矩陣中的一個元素。在三通道的彩色圖像中,這個元素是由三個數(shù)字組成的元組。

0d9b303c-9cde-11eb-8b86-12bb97331649.gif

彩色三通道圖像

而對于單通道的灰度圖像來說,這個元素就是一個數(shù)字。這個數(shù)字代表了圖像在這個點的亮度,數(shù)字越大像素點也就越亮,在常見的八位單通道色彩空間中,0代表全黑,255代表全白。

0de20584-9cde-11eb-8b86-12bb97331649.gif

單通道的灰度圖

閾值法是指選取一個數(shù)字,大于它就視為全白,小于它就視為全黑。就像教室里的燈管開關(guān),我們輕輕地推動它,如果突然間超過了某個閾值,燈就啪的一聲亮了。

根據(jù)閾值選取方式的不同,可以分為全局閾值和局部閾值。

全局閾值,指的是對整個圖像中的每一個像素都選用相同的閾值。我們可以在Photoshop的圖像—調(diào)整—閾值里體驗這一操作:

0e5d1684-9cde-11eb-8b86-12bb97331649.jpg

Photoshop里的閾值

可以看到閾值色階從1到255的移動過程中,圖像變黑的區(qū)域越來越多。當(dāng)閾值數(shù)字在某個特定范圍內(nèi)的時候,紅米腸的輪廓清晰可辨。

0e6c9f5a-9cde-11eb-8b86-12bb97331649.gif

正確的二值化使紅米腸輪廓清晰可辨

在生產(chǎn)線環(huán)境下,光照是已知的,常常會設(shè)定一個固定的數(shù)字來作為全局閾值。但是在室外或者機器人比賽中,光照條件往往更加復(fù)雜。

同樣是奧利奧冰激凌,在白天和晚上,攝像頭看到的畫面可能不太一樣,常數(shù)閾值無法同時適應(yīng)這兩種情況。

0ec6a112-9cde-11eb-8b86-12bb97331649.jpg

明暗不同的畫面

對于畫面比較暗的晚上,我們需要一個比較低的閾值,比如說設(shè)定閾值為50,它在晚上能很清楚地把黑白兩種顏色分開,但是到了白天就是一片白(左邊);如果我們把閾值設(shè)置得比較高,比如說172,在白天能順利分割,但在晚上就是一片黑(右邊)。我們需要能夠適應(yīng)復(fù)雜環(huán)境的算法。

0f05d288-9cde-11eb-8b86-12bb97331649.jpg

左邊閾值=50,右邊閾值=172

其實,稍作分析我們可以發(fā)現(xiàn),這張圖像中的顏色差異還是比較明顯的,只有深淺兩種顏色。因此,無論是在白天還是黑夜,它的色階直方圖都應(yīng)該是兩個明顯的波峰,分別代表深色和淺色的區(qū)域。只是色階直方圖在白天會整體向右偏移,而在夜晚整體向左偏移。

0f3ca178-9cde-11eb-8b86-12bb97331649.jpg

圖像的色階直方圖

如果選擇兩個波峰之間的波谷作為閾值,就能輕松地把這兩類像素分開。但是圖像的直方圖往往是不連續(xù)的,有非常多尖峰和抖動,要找到準(zhǔn)確的極值點十分困難。

日本工程師大津展之為這個波谷找到了一個合適的數(shù)學(xué)表達(dá),并于1979年發(fā)表[2]。這個二值化方法稱為大津算法(Otsu’s method)。大津算法類似于一維Fisher判別分析的離散化模擬。通過窮舉法找到一個閾值數(shù)字,把這些像素切成兩類,使得這兩類像素的亮度的類內(nèi)方差最小。類內(nèi)方差指的是兩類像素的方差的加權(quán)和,這里權(quán)指的是這類像素點數(shù)量占整個圖像像素點數(shù)量的比值。

也許你的畫面不會只有兩坨差異較大的顏色,比如這款雪糕的就有三個尖峰。

0f47965a-9cde-11eb-8b86-12bb97331649.jpg

三色雪糕(取雪糕部位的直方圖)

這時候,只需對大津算法稍加擴展也可以完成。對大津算法的多級推廣成為多大津算法(multi Otsu method)[3]。

局部閾值(Local Method)又稱自適應(yīng)閾值(Adaptive Thresholding)。

比賽中常常會有聚光燈照在一個特定區(qū)域,產(chǎn)生局部受光、局部不受光的畫面。

0f509764-9cde-11eb-8b86-12bb97331649.jpg

局部受光的圖像

對于局部受光的圖像進行全局閾值,可能會出現(xiàn)“無論設(shè)置什么閾值參數(shù),都無法滿足全圖要求”的尷尬。比如上面這幅圖像,直接進行全局閾值時,左上半邊的壽司全都顯露出來時,右下半邊還是一片黑色。

0f5af664-9cde-11eb-8b86-12bb97331649.jpg

局部受光圖像的全局閾值處理

這個時候我們就要用到局部閾值來處理了。其實,人的眼睛也是自帶了這一步操作的。我們判定一個東西顏色深淺,往往會受到物體周邊的顏色影響,這也就是為什么黑人的牙齒看上去更白。

局部閾值法假定圖像在一定區(qū)域內(nèi)受到的光照比較接近。它用一個滑窗掃描圖像,并取滑窗中心點亮度與滑窗內(nèi)其他區(qū)域(稱為鄰域, neighborhood area)的亮度進行比較。如果中心點亮度高于鄰域亮度,則將中心點標(biāo)記為白色,否則標(biāo)記為黑色。

0f67e838-9cde-11eb-8b86-12bb97331649.gif

局部閾值的滑窗

這里提到的是局部閾值的基本方法,對于實際使用中常見的其他局部閾值方法,請參閱Chow-Kaneko自適應(yīng)閾值法[4]。

局部閾值的應(yīng)用非常廣泛,特別是對白紙黑字的處理非常有效。光學(xué)字符識別(OCR)和二維碼掃描的算法中,很多都用了局部閾值操作。

比如下面這張二維碼就是一張典型的局部受光圖像:

局部受光的二維碼

如果對這張圖片采用全局閾值(例如下圖采用大津算法進行分割),是無論如何都無法正確分割的。

全局方法不能處理局部受光圖像

而采用局部閾值方法就能很好地分割圖像。從圖片里可以明顯觀察到,局部閾值方法對于一大片干凈區(qū)域的細(xì)節(jié)比較敏感,所以紙面上多出了很多我們原本注意不到的斑點。

局部方法分割二維碼

實際運用中,我們要根據(jù)需求選擇不同的二值化方法,沒有哪個方法是絕對完美的。

例如,在識別敵方機器人時,由于裝甲片燈條是自發(fā)光物體,受環(huán)境光影響較小,為了提高程序運行效率,我們采用固定數(shù)字作為全局閾值:

基地自動反擊

在能量機關(guān)的識別中,由于能量機關(guān)只有黑白兩種顏色,我們采用了大津算法及其多種變體:

大能量機關(guān)各區(qū)域的二值圖

而在空中機器人讀取基地區(qū)二維碼的時候又用到了局部閾值方法:

空中機器人識別基地

除了基于閾值的圖像分割方法外,常用的分割方法還可以基于邊緣(如Yanowitz-Bruckstein自適應(yīng)閾值方法[5])、區(qū)域(如區(qū)域生長算法[6])等,它們在衛(wèi)星圖像處理、交通控制系統(tǒng)工業(yè)生產(chǎn)監(jiān)控、醫(yī)療影像等領(lǐng)域發(fā)揮著巨大的作用。

腦部組織圖像分割

本文所述閾值方法的OpenCV實現(xiàn),請參見博客:Python+OpenCV圖像處理實驗

項目效果

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4612

    瀏覽量

    92891
  • 機器視覺
    +關(guān)注

    關(guān)注

    162

    文章

    4372

    瀏覽量

    120318
  • 二值化
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    4238

原文標(biāo)題:一文搞懂圖像二值化算法

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Teledyne Lecroy示波器插算法

    示波器是通過內(nèi)部硬件ADC對模擬信號采樣來獲取離散的數(shù)據(jù)點,然而這些離散的數(shù)據(jù)點有時難以完整呈現(xiàn)出原始模擬信號的全貌。軟件插算法的意義就在于,它能夠依據(jù)特定的數(shù)學(xué)算法,在已采集的數(shù)據(jù)點之間插入新的數(shù)據(jù)點,幫助使用者更好地還原和
    的頭像 發(fā)表于 12-24 16:11 ?235次閱讀

    基于FPGA實現(xiàn)OTSU算法

    OSTU大津法是種確定圖像閾值的方法,由日本學(xué)者大津提出來的。
    的頭像 發(fā)表于 10-25 15:23 ?371次閱讀
    基于FPGA實現(xiàn)OTSU<b class='flag-5'>算法</b>

    DSP教學(xué)實驗箱_數(shù)字圖像處理操作_案例分享:5-13 灰度圖像

    、實驗?zāi)康?學(xué)習(xí)灰度圖像的原理,掌握圖像的讀取方法,并實現(xiàn)在LCD上顯示
    發(fā)表于 07-25 15:03

    圖像識別算法都有哪些方法

    圖像識別算法是計算機視覺領(lǐng)域的核心任務(wù)之,它涉及到從圖像中提取特征并進行分類、識別和分析的過程。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,圖像識別
    的頭像 發(fā)表于 07-16 11:14 ?5576次閱讀

    圖像識別算法的提升有哪些

    方法。 數(shù)據(jù)增強 數(shù)據(jù)增強是提高圖像識別算法性能的種有效方法。通過對訓(xùn)練數(shù)據(jù)進行變換和擴展,可以增加數(shù)據(jù)的多樣性,提高模型的泛能力。常見的數(shù)據(jù)增強方法包括: 2.1 旋轉(zhuǎn)、縮放、平
    的頭像 發(fā)表于 07-16 11:12 ?658次閱讀

    圖像識別算法的優(yōu)缺點有哪些

    圖像識別算法種利用計算機視覺技術(shù)對圖像進行分析和理解的方法,它在許多領(lǐng)域都有廣泛的應(yīng)用,如自動駕駛、醫(yī)療診斷、安全監(jiān)控等。然而,圖像識別
    的頭像 發(fā)表于 07-16 11:09 ?1635次閱讀

    圖像識別算法的核心技術(shù)是什么

    圖像識別算法是計算機視覺領(lǐng)域的個重要研究方向,其目標(biāo)是使計算機能夠像人類樣理解和識別圖像中的內(nèi)容。
    的頭像 發(fā)表于 07-16 11:02 ?642次閱讀

    opencv圖像識別有什么算法

    OpenCV(Open Source Computer Vision Library)是個開源的計算機視覺和機器學(xué)習(xí)軟件庫,提供了大量的圖像處理和計算機視覺相關(guān)的算法。以下是些常見
    的頭像 發(fā)表于 07-16 10:40 ?1045次閱讀

    FPGA設(shè)計經(jīng)驗之圖像處理

    今天和大俠簡單聊聊基于FPGA的圖像處理,之前也和各位大俠聊過相關(guān)的圖像處理,這里面也超鏈接了幾篇,具體如下: 圖像邊緣檢測算法體驗步驟
    發(fā)表于 06-12 16:26

    基于FPGA的實時邊緣檢測系統(tǒng)設(shè)計,Sobel圖像邊緣檢測,F(xiàn)PGA圖像處理

    *768分辨率的灰度圖片如圖6所示,對比MATLAB 與 FPGA 處理效果的不同。MATLAB和 FPGA進行邊緣檢測后的均以 40 為閾值進行,對應(yīng)的
    發(fā)表于 05-24 07:45

    基于FPGA的常見的圖像算法模塊總結(jié)

    意在給大家補充下基于FPGA的圖像算法基礎(chǔ),于是講解了下常見的圖像算法模塊,經(jīng)過個人的總結(jié),
    的頭像 發(fā)表于 04-28 11:45 ?598次閱讀
    基于FPGA的常見的<b class='flag-5'>圖像</b><b class='flag-5'>算法</b>模塊總結(jié)

    算法系列:基于 FPGA 的圖像邊緣檢測系統(tǒng)設(shè)計(sobel算法

    ,用這樣的均值算法,可以把銳度降低。使得圖像看上去更加自然,下面就有幾幅圖我們可以看出些端倪:原圖: 平滑處理后: 這里還是可以明顯的感覺到不同的, 沒有好壞之分,就是第
    發(fā)表于 03-26 16:40

    圖像連通區(qū)域的標(biāo)記原理

    ,即給每個連通區(qū)域個唯的標(biāo)識符。 連通區(qū)域標(biāo)記是圖像分析和圖像處理中的個重要步驟,可以用于圖像
    的頭像 發(fā)表于 01-05 14:28 ?852次閱讀

    FPGA圖像處理之CLAHE算法

    在FPGA圖像處理--CLAHE算法()中介紹了為啥要用CLAHE算法來做圖像增強。
    的頭像 發(fā)表于 01-04 12:23 ?2537次閱讀
    FPGA<b class='flag-5'>圖像</b>處理之CLAHE<b class='flag-5'>算法</b>

    FPGA圖像處理-CLAHE算法介紹()

    在介紹CLAHE算法之前必須要先提下直方圖均衡,直方圖均衡算法種常見的
    的頭像 發(fā)表于 01-02 13:32 ?1744次閱讀
    FPGA<b class='flag-5'>圖像</b>處理-CLAHE<b class='flag-5'>算法</b>介紹(<b class='flag-5'>一</b>)
    主站蜘蛛池模板: 国产黄色a三级三级三级| 色视频网站在线| 欧美综合久久| 成 人 在 线 免费 8888 www| 最新黄色大片| 免费人成网站| 天天操天天插天天射| 性性性性bbbbxxxx| 欧美视频精品在线| 五月天狠狠操| 亚洲国产视频一区| 拍拍拍交性免费视频| 天天综合欧美| 老司机午夜永久在线观看| 你懂的福利| 久久亚洲国产午夜精品理论片| 久99热| 恐怖片大全恐怖片免费观看好看的恐怖片 | 全免费一级午夜毛片| 乱小说录目伦800| 久久综合九色欧美综合狠狠| 久久精品国产大片免费观看| 亚洲无线视频| 欧美色图日韩色图| 奇米网狠狠干| 亚洲精品美女| 97久久综合九色综合| 亚洲韩国日本欧美一区二区三区| 欧美黄色片一级| 好吊788gaoco| 色偷偷91综合久久噜噜| 午夜影视体验区| 国产午夜精品久久久久免费视| 久久福利青草精品资源| www操| 人人草人人爽| 久久香蕉综合精品国产| 婷婷激情丁香| 天天爱天天爽| 香蕉视频在线免费播放| 午夜在线网站|