漫水填充算法 - cvFloodFill() 實現


前言

  漫水填充算法是用來標記一片區域的:設置一個種子點,然后種子點附近的相似點都被填充同一種顏色。

  該算法應用性很廣,比如目標識別,photoshop 的魔術棒功能等等,是填充類算法中應用最為廣泛的一個算法。

漫水填充算法函數 - cvFloodFill()

  函數原型:

 1 void cvFloodFill (
 2     IplImage * img,         // 輸入圖像
 3     CvPoint    seedPoint,    // 種子點
 4     CvScalar newVal,       // 像素點被染色的值
 5     CvScalar loDiff = cvScalarAll(0),     // 染色邊界判定
 6     CvScalar upDiff = cvScalarAll(0),     // 染色邊界判定
 7     CvConnectedComp * comp = NULL,        // 填充區域統計屬性
 8     int flags = 4,                        // 連通性,相關性等參數設置。
 9     CvArr * mask = NULL                   // 掩碼區域
10 );

  參數特別說明:

  1. 掩碼參數 mask 必須是一個單通道,8位,像素寬度高度均比原圖像大兩個像素。mask 圖像的像素 (x+1, y+1) 與原圖像 (x, y) 相對應。為 0 的位表示不進行處理。同時,掩碼區也會返回填充結果。

  2. flags 參數提供更為強大的填充配置信息,詳見相關資料。

運行結果

  

小結

  常用的一個填充算法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM