區域生長:就是以某個畫素值進行擴散,查詢顏色相近的範圍區域。
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,直接尋找區域的分割技術 區域生長就是方案三,它是根據事先定義的準則將畫素或者子區域聚合成更大區域的過程。其基本思想是從一組生長點開始 生長點可以是單個畫素,也可以是某個小區域 將與該生長點性質...