大神們,我想問一下就是,我在一個包含有多個幾何圖形的圖片當中可以得到他們的輪廓,但是我如何鎖定在某一個具體的輪廓當中去判斷這個輪廓下的圖形是一個是么樣的圖形(例如,三角形)
uj5u.com熱心網友回復:
//獲取輪廓
std::vector<std::vector<Point>> contours;
//獲取輪廓:
findContours(image, //影像
contours, //輪廓點
//包含影像拓撲結構的資訊(可選引數,這里沒有選)
CV_RETR_EXTERNAL, //獲取輪廓的方法(這里獲取外圍輪廓)
CV_CHAIN_APPROX_NONE); //輪廓近似的方法(這里不近似,獲取全部輪廓)
//列印輪廓資訊
std::cout<<"共有外圍輪廓:"<<contours.size()<<"條"<<std::endl;
std::vector<std::vector<Point>>::const_iterator itContours = contours.begin();
for(;itContours != contours.end();++itContours)
{
std::cout<<"每個輪廓的長度: "<<itContours->size()<<std::endl;
}
findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
indContours(image, //影像
contours, //輪廓點
//包含影像拓撲結構的資訊(可選引數,這里沒有選)
CV_RETR_EXTERNAL, //獲取輪廓的方法(這里獲取外圍輪廓)
CV_CHAIN_APPROX_NONE); //輪廓近似的方法(這里不近似,獲取全部輪廓)
注意到輪廓的存盤格式為std::vector<std::vector<Point>>,他說明整個輪廓是若干條輪廓按一定順序組成的,而每個輪廓中的點也是有順序的。
然后你就可以根據這個順序去判斷。
uj5u.com熱心網友回復:
涉及到模式識別和人工智能。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127752.html
標籤:圖形處理/算法
下一篇:OpenGL中呼叫glutKeyboardFunc(keyboard)函式型別實參(void(COpen::*))與形參(void*)不兼容
