精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

一文解析OpenCV中泛洪填充算法與應用

新機器視覺 ? 來源:OpenCV學堂公眾號 ? 作者:OpenCV學堂公眾號 ? 2021-04-09 10:25 ? 次閱讀

泛洪填充(Flood Fill)很多時候國內的開發者稱它為漫水填充,該算法在圖形填充與著色應用程序比較常見,屬于標配。在圖像處理里對二值圖像的Hole可以通過泛洪填充來消除,這個是泛洪填充在圖像處理中很經典的一個用途,此外還可以通過泛洪填充為ROI區域著色。這個在圖像處理也經常用到。讓我們首先看一下泛洪填充算法本身,然后再說一下在圖像處理中的應用場景。

泛洪填充算法

通常泛洪填充需要從一個點開始,這個點可以隨機選擇的一點,但是一定要在填充區域內部,然后它就會進行四鄰域或者把鄰域尋找對周圍像素完成填充,直到遇到跟指定隨機點像素值不同的像素為止,也可以認為是到達了區域邊界。通過鄰域像素尋找實現填充速度比較慢、不是泛洪填充好的實現方式,最常見與快速的泛紅實現是基于掃描線算法的,步驟如下:

1.首先從開始點出發進行垂直方向列的掃描,填充

2.然后以填充點開始進行每一行的掃描與填充

3.繼續以每一行新填充的像素為開始點,執行1,2步驟

4.直到區域所有點都完成填充為止。

圖示如下:

第一步:假設有圖像如下,紅色表種子像素點。

482a1852-98d9-11eb-8b86-12bb97331649.png

首先進行豎直方向的掃描,填充結果如下:

484920ee-98d9-11eb-8b86-12bb97331649.png

然后以填充的紅色像素為起始點,開始水平方向的掃描填充,結果如下:

4865be3e-98d9-11eb-8b86-12bb97331649.png

用水平方向被填充像素點為種子像素點,繼續豎直方式掃描填充,結果如下:

48739b12-98d9-11eb-8b86-12bb97331649.png

以填充的像素點為種子像素點繼續水平方向掃描,結果如下:

488483e6-98d9-11eb-8b86-12bb97331649.png

這樣就完成了對整個區域的填充。從上面的例子可以看出,泛洪填充可以通過遞歸方式編碼實現,但是基于遞歸方式編碼實現有個致命的缺點,對大圖填充時候容易導致棧溢出,所以更常用的基于隊列或者棧的數據結構實現非遞歸的泛洪填充。OpenCV中的實現主要是基于棧的掃描線算法實現泛洪填充。

應用場景一:

通過泛洪填充算法實現對二值圖像對象區域中Hole填充

運行顯示原圖如下:

489fade2-98d9-11eb-8b86-12bb97331649.png

填充以后結果如下:

48b3b8be-98d9-11eb-8b86-12bb97331649.png

實現代碼如下:

48cb96d2-98d9-11eb-8b86-12bb97331649.jpg

應用場景二:

通過泛洪填充實現對ROI區域的著色, 跟上個例子使用API唯一不同地方是帶了mask參數。運行結果如下:

48f93bb4-98d9-11eb-8b86-12bb97331649.png

實現代碼如下:

4934b072-98d9-11eb-8b86-12bb97331649.jpg

編輯:jq

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

    關注

    2

    文章

    1485

    瀏覽量

    61817
  • OpenCV
    +關注

    關注

    30

    文章

    628

    瀏覽量

    41264
  • 泛洪算法
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1313

原文標題:OpenCV中泛洪填充算法解析與應用

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

收藏 人收藏

    評論

    相關推薦

    手寫圖像模板匹配算法OpenCV的實現

    OpenCV的模板匹配是支持基于NCC相似度查找的,但是不是很好用,個主要的原因是查找最大閾值,只能匹配個,自己比對閾值,又導致無法正確設定閾值范圍,所以問題很多。于是我重新寫了
    的頭像 發表于 11-11 10:12 ?169次閱讀
    手寫圖像模板匹配<b class='flag-5'>算法</b>在<b class='flag-5'>OpenCV</b><b class='flag-5'>中</b>的實現

    AIGC算法解析及其發展趨勢

    AIGC(Artificial Intelligence Generated Content,人工智能生成內容)算法是當今前沿科技的代表,它利用人工智能技術和算法自動生成各種形式的內容。
    的頭像 發表于 10-25 15:35 ?336次閱讀

    底部填充工藝在倒裝芯片上的應用

    底部填充工藝在倒裝芯片(FlipChip)上的應用是種重要的封裝技術,旨在提高封裝的可靠性和延長電子產品的使用壽命。以下是該工藝的主要應用和優勢:增強可靠性:倒裝芯片封裝的焊點(常為金錫合金或鉛
    的頭像 發表于 07-19 11:16 ?675次閱讀
    底部<b class='flag-5'>填充</b>工藝在倒裝芯片上的應用

    opencv圖像識別有什么算法

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

    opencv-python和opencv樣嗎

    樣。OpenCV(Open Source Computer Vision Library)是個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV
    的頭像 發表于 07-16 10:38 ?972次閱讀

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是個開源的計算機視覺庫,提供了大量的計算機視覺算法和工具。以下是OpenCV的主要功能: 圖像處
    的頭像 發表于 07-16 10:35 ?1334次閱讀

    OpenCV攜奧比光3D相機亮相CVPR 2024

    和機器學習軟件庫,提供豐富的圖像處理和計算機視覺算法。奧比光與OpenCV的深入合作,使得復雜的3D感知項目開發變得簡單高效。全球開發者及企業用戶可借助奧比光先進的3D相機技術和
    的頭像 發表于 06-21 09:38 ?505次閱讀

    等離子清洗及點膠軌跡對底部填充膠流動性的影響

    共讀好書 翟培卓,根深,王印權,李守委,陳鵬,邵韜,柏鑫鑫 (中國電子科技集團公司第五十八研究所) 摘要: 倒裝焊封裝過程,底部填充膠的流動性決定了
    的頭像 發表于 06-17 08:44 ?349次閱讀
    等離子清洗及點膠軌跡對底部<b class='flag-5'>填充</b>膠流動性的影響

    I.MX6ULL-飛凌 ElfBoard ELF1板卡 - 如何在Ubuntu編譯OpenCV庫(X86架構)

    Ubuntu環境下編譯X86架構的OpenCV,這為快速迭代產品、優化算法提供了堅實的支撐。希望本篇指南能成為各位小伙伴在嵌入式技術探索之旅上的得力助手。如果您在實踐過程遇到任何問題,歡迎留言交流。
    發表于 06-07 09:32

    嵌入式學習-飛凌ElfBoard ELF 1板卡 - 如何在Ubuntu編譯OpenCV

    Ubuntu環境下編譯X86架構的OpenCV,這為快速迭代產品、優化算法提供了堅實的支撐。希望本篇指南能成為各位小伙伴在嵌入式技術探索之旅上的得力助手。如果您在實踐過程遇到任何問題,歡迎留言交流。
    發表于 06-07 09:21

    ELF 1技術貼|如何在Ubuntu編譯OpenCV

    在之前發布的文章探討了交叉編譯OpenCV并部署至嵌入式系統的方法。然而,在調試階段,我們發現在Ubuntu環境下將OpenCV編譯為X86架構可能更加方便和高效。通過在主機上編譯并使用X86架構
    的頭像 發表于 05-31 16:41 ?1134次閱讀
    ELF 1技術貼|如何在Ubuntu<b class='flag-5'>中</b>編譯<b class='flag-5'>OpenCV</b>庫

    什么是芯片底部填充膠,它有什么特點?

    什么是芯片底部填充膠,它有什么特點?芯片底部填充膠是種用于電子封裝的膠水,主要用于底部填充bga芯片電子組件,以增強組件的可靠性和穩定性。它通常是
    的頭像 發表于 03-14 14:10 ?972次閱讀
    什么是芯片底部<b class='flag-5'>填充</b>膠,它有什么特點?

    填充膠是做什么用的?

    填充膠是做什么用的?填充膠是種廣泛應用于電子制造和其他工業領域的材料,它在提高產品性能、增強結構穩定性以及保護核心組件方面發揮著至關重要的作用。以下是關于填充膠的主要用途和它在不同應
    的頭像 發表于 01-17 14:52 ?946次閱讀
    <b class='flag-5'>填充</b>膠是做什么用的?

    填充寬度對于精確的焊盤填充過大的影響

    填充寬度是指在焊接過程,焊盤與焊芯之間的間隔。填充寬度的大小直接影響到焊接質量、焊接強度和焊接過程的穩定性等方面。填充寬度過大可能會導致諸多問題,本文將從焊接質量、焊接強度和焊接過程
    的頭像 發表于 12-26 17:15 ?4006次閱讀

    OpenCV邊緣模板匹配算法原理詳解

    OpenCV自帶的模板匹配算法,完全是像素基本的模板匹配,特別容易受到光照影響,光照稍微有所不同,該方法就會歇菜了!搞得很多OpenCV初學者剛學習到該方法時候很開心,
    的頭像 發表于 12-07 10:56 ?1329次閱讀
    <b class='flag-5'>OpenCV</b>邊緣模板匹配<b class='flag-5'>算法</b>原理詳解