opencv區域生長 區域擴散

2021-10-02 01:56:20 字數 2369 閱讀 8486

區域生長:就是以某個畫素值進行擴散,查詢顏色相近的範圍區域。

1.固定灰度值區域生長

//固定灰度值區域生長

cv::mat regiongrow(cv::mat src, cv::point2i pt, int th)

,,,,,,, };

std::vectorvcgrowpt; //生長點棧

vcgrowpt.push_back(pt); //將生長點壓入棧中

matdst.at(pt.y, pt.x) = 255; //標記生長點

nsrcvalue = src.at(pt.y, pt.x); //記錄生長點的灰度值

while (!vcgrowpt.empty()) //生長棧不為空則生長

}} }

return matdst.clone();

}

2.動態灰度值區域生長

//動態灰度值區域生長

cv::mat regiongrow_gray_real(cv::mat src, cv::point2i pt, int th)

,,,,,,, };

std::vectorvcgrowpt; //生長點棧

vcgrowpt.push_back(pt); //將生長點壓入棧中

matdst.at(pt.y, pt.x) = 255; //標記生長點

while (!vcgrowpt.empty()) //生長棧不為空則生長

}} }

return matdst.clone();

}

3.固定rgb值區域生長

//固定rgb值區域生長

cv::mat regiongrow_rgb(cv::mat src, cv::point2i pt, int th)

; //生長起點灰度值

int ncurvalue[3] = ; //當前生長點灰度值

cv::mat matdst = cv::mat::zeros(src.size(), cv_8uc3); //建立乙個空白區域,填充為黑色

//生長方向順序資料

int dir[8][2] = ,,,,,,, };

std::vectorvcgrowpt; //生長點棧

vcgrowpt.push_back(pt); //將生長點壓入棧中

matdst.at(pt.y, pt.x)[0] = 255; //標記生長點

matdst.at(pt.y, pt.x)[1] = 255; //標記生長點

matdst.at(pt.y, pt.x)[2] = 255; //標記生長點

nsrcvalue[0] = src.at(pt.y, pt.x)[0]; //記錄生長點的灰度值

nsrcvalue[1] = src.at(pt.y, pt.x)[1]; //記錄生長點的灰度值

nsrcvalue[2] = src.at(pt.y, pt.x)[2]; //記錄生長點的灰度值

while (!vcgrowpt.empty()) //生長棧不為空則生長

}} }

return matdst.clone();

}

4.動態rgb值區域生長

//動態rgb值區域生長

cv::mat regiongrow_rgb_real(cv::mat src, cv::point2i pt, int th)

; //生長起點灰度值

int ncurvalue[3] = ; //當前生長點灰度值

cv::mat matdst = cv::mat::zeros(src.size(), cv_8uc3); //建立乙個空白區域,填充為黑色

//生長方向順序資料

int dir[8][2] = ,,,,,,, };

std::vectorvcgrowpt; //生長點棧

vcgrowpt.push_back(pt); //將生長點壓入棧中

matdst.at(pt.y, pt.x)[0] = 255; //標記生長點

matdst.at(pt.y, pt.x)[1] = 255; //標記生長點

matdst.at(pt.y, pt.x)[2] = 255; //標記生長點

while (!vcgrowpt.empty()) //生長棧不為空則生長

}} }

return matdst.clone();

}

如果滿意歡迎點讚。

區域生長演算法

區域生長演算法 既是根據事先定義的準則將畫素或者子區域聚合成更大的區域。基本方法是以 一組 種子開始,將與種子性質相似 灰度級或顏色的特定範圍 的相鄰畫素附加到生長區域的種子上。halcon中的區域生長運算元 區域生長演算法,將圖象被分割為區域 regiongrowing image regions...

區域生長法

區域生長的基本思想是將具有相似性質的畫素集合起來構成區域。具體先對每個需要分割的區域找乙個種子畫素作為生長的起點,然後將種子畫素周圍鄰域中與種子畫素具有相同或相似性質的畫素 根據某種事先確定的生長或相似準則來判定 合併到種子畫素所在的區域中。將這些新畫素當做新的種子畫素繼續進行上面的過程,直到再沒有...

區域生長演算法

把影象進行分割為多個區域。方案1,尋找灰度級不連續區域間的邊界 方案2,基於畫素性質分布的閾值處理 方案3,直接尋找區域的分割技術 區域生長就是方案三,它是根據事先定義的準則將畫素或者子區域聚合成更大區域的過程。其基本思想是從一組生長點開始 生長點可以是單個畫素,也可以是某個小區域 將與該生長點性質...