91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文搞懂圖像二值化算法

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2021-04-15 15:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

傳統的機器視覺通常包括兩個步驟:

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

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

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

食品加工廠的視覺處理

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

原圖

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

圖像分割結果

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

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

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

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

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

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

在這個矩陣里,每一個像素就是矩陣中的一個元素。在三通道的彩色圖像中,這個元素是由三個數字組成的元組。

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

彩色三通道圖像

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

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

單通道的灰度圖

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

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

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

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

Photoshop里的閾值

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

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

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

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

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

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

明暗不同的畫面

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

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

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

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

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

圖像的色階直方圖

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

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

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

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

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

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

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

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

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

局部受光的圖像

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

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

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

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

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

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

局部閾值的滑窗

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

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

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

局部受光的二維碼

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

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

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

局部方法分割二維碼

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

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

基地自動反擊

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

大能量機關各區域的二值圖

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

空中機器人識別基地

除了基于閾值的圖像分割方法外,常用的分割方法還可以基于邊緣(如Yanowitz-Bruckstein自適應閾值方法[5])、區域(如區域生長算法[6])等,它們在衛星圖像處理、交通控制系統、工業生產監控、醫療影像等領域發揮著巨大的作用。

腦部組織圖像分割

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

項目效果

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4710

    瀏覽量

    95430
  • 機器視覺
    +關注

    關注

    163

    文章

    4598

    瀏覽量

    122935
  • 二值化
    +關注

    關注

    0

    文章

    13

    瀏覽量

    4355

原文標題:一文搞懂圖像二值化算法

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    升壓電路搞懂 升壓電路技術文檔合集

    升壓電路圖集合,升壓電路設計方案,電路設計技巧,升壓電路搞懂;給大家分享 升壓電路技術文檔合集
    的頭像 發表于 05-15 15:58 ?5552次閱讀
    升壓電路<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>搞懂</b> 升壓電路技術文檔合集

    K230 yolo識別例程中,怎么修改攝像頭參數及AI推理輸入圖片參數,使其采集圖像并將圖像推給AI進行推理呢

    我嘗試修改pipeline中的初始函數和getframe函數均沒有辦法在ide上顯示圖像,有沒有辦法修改呢? 設置為Sens
    發表于 04-25 07:51

    搞懂POL全光網絡

    在數字經濟的浪潮中,企業積極擁抱人工智能、云計算、物聯網(IoT)等前沿科技,促使業務云端、連接多元以及信息接入普及,加速推動企業數智進程。伴隨轉型的持續深入,企業園區網絡遭遇
    的頭像 發表于 02-27 13:51 ?2592次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>搞懂</b>POL全光網絡

    請問DLP471TE在投影圖像(1bit圖像)的時候,能達到的最高投影速率是多少?

    你好! 請問 DLP471TE 在投影圖像(1bit圖像)的時候,能達到的最高投影速率是多少? 產品手冊上面寫著 DLP471TE 支持60Hz的4K UHD 和 240Hz 的
    發表于 02-26 06:56

    DLPC7540EVM是否支持自定義的圖像處理算法,以及如何進行算法的移植?

    是否支持自定義的圖像處理算法,以及如何進行算法的移植?
    發表于 02-17 08:25

    FPGA上的圖像處理算法集成與優化

    、Tophat形態學濾波、RAW8轉RGB888、彩色圖像均值濾波、Alpha背景疊加、直方圖灰度拉伸算法以及自動白平衡算法。每種算法都提供了實現方法和相關公式,涵蓋了
    的頭像 發表于 02-14 13:46 ?662次閱讀
    FPGA上的<b class='flag-5'>圖像</b>處理<b class='flag-5'>算法</b>集成與優化

    讀懂:LED 驅動電路極管挑選要點

    讀懂:LED 驅動電路極管挑選要點
    的頭像 發表于 02-06 14:47 ?588次閱讀

    labview視覺助手 - machine vision - map defects,輸出float圖像,像素0.89*39496中的0.89是啥意思?

    labview視覺助手 - machine vision - map defects,輸出float圖像,像素0.89*39496中的0.89是啥意思? 無論是
    發表于 01-04 21:20

    Teledyne Lecroy示波器插算法

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

    圖像高斯濾波的原理及FPGA實現思路

    (Gaussian Blur),是種高斯低通濾波。通常這個算法也可以用來模糊圖像,提供模糊濾鏡。也可以用來過濾自然界的高斯白噪聲。 高斯分布(正態分布)是個常見的連續概率分布,正態
    的頭像 發表于 12-07 09:12 ?1914次閱讀
    <b class='flag-5'>圖像</b>高斯濾波的原理及FPGA實現思路

    百問FB顯示開發圖像處理 - 圖像調整

    \"。 原理淺析 ?要理解這個圖像縮放算法的原理,最重要的是需要理解:對于圖像上的每個像素點,它縮放前后,相對于整個圖像的比例應該是
    發表于 12-02 09:34

    基于FPGA實現OTSU算法

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

    極管的耐壓是峰值還是有效

    極管是種半導體器件,它允許電流在個方向上流動,而在另個方向上阻止電流流動。極管的耐壓
    的頭像 發表于 10-09 11:08 ?2945次閱讀

    極管擊穿電壓是最大還是有效

    極管擊穿電壓是指極管在反向偏置下,電流突然增大,導致極管損壞的電壓。 最大(Peak Value):最大
    的頭像 發表于 08-08 10:05 ?2380次閱讀

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

    、實驗目的 學習灰度圖像的原理,掌握圖像的讀取方法,并實現在LCD上顯示
    發表于 07-25 15:03
    主站蜘蛛池模板: 亚洲 图片 小说 欧美 另类 | 国产高清在线播放免费观看 | 欧美不卡视频在线观看 | a天堂资源在线观看 | 久久国内| 迅雷www天堂在线资源 | 一级做a爰片久久毛片鸭王 一级做a爰片久久毛片一 | 大蕉久久伊人中文字幕 | 白嫩美女一级高清毛片免费看 | 婷婷6月 | 天天射天天操天天色 | 国产又粗又大又爽又免费 | 六月丁香深爱六月综合激情 | 正在播放国产女免费 | www.五月婷婷.com | 青草91| 女人又色又爽又黄 | 黄色三级在线看 | 四虎影视地址 | 久久夜色精品 | 欧美午夜大片 | 色婷婷久久综合中文久久蜜桃 | 国产网站免费看 | 久草免费在线播放 | 国产精品永久免费 | 日韩一级精品视频在线观看 | 天天干天天操天天摸 | 日本亚洲卡一卡2卡二卡三卡四卡 | 国产女人视频免费观看 | 日本免费网站在线观看 | 欧美一级高清片欧美国产欧美 | 亚洲精品久久久久影 | 成 人色 网 站 欧美大片在线观看 | 2018天天干天天操 | 1024手机看片你懂得的 日韩欧美 | 亚洲乱码尤物193yw在线播放 | 亚洲人成人网毛片在线播放 | 天天躁夜夜躁狠狠躁2024 | 女主播扒开内衣让粉丝看个够 | 韩国中文字幕在线观看 | 美女视频黄的免费视频网页 |