码迷,mamicode.com
首页 > 其他好文 > 详细

opencv 轮廓的外围多边形提取或者 删除最小最大轮廓

时间:2019-09-10 11:36:44      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:imshow   iter   line   提取   show   blog   src   相关   vector   

std::vector<cv::Point>  resultpoly;
cv::approxPolyDP(contours[0], resultpoly,4, true);//轮廓contours[0] ,resultpoly多边形的点集
cv::polylines(src, resultpoly, true, 150, 1);//画多边形的外轮廓
cv::imshow("detected polyLines", src);//显示多边形的外轮廓

//相关链接https://www.cnblogs.com/donaldlee2008/p/5230032.html
// 移除过小或过大的轮廓  
void getSizeContours(vector<vector<Point>> &contours)  
{  
    int cmin = 100;   // 最小轮廓长度  
    int cmax = 1000;   // 最大轮廓长度  
    vector<vector<Point>>::iterator itc = contours.begin();  
    while(itc != contours.end())  
    {  
        if((itc->size()) < cmin || (itc->size()) > cmax)  
        {  
            itc = contours.erase(itc);  
        }  
        else ++ itc;  
    }  
}

opencv 轮廓的外围多边形提取或者 删除最小最大轮廓

标签:imshow   iter   line   提取   show   blog   src   相关   vector   

原文地址:https://www.cnblogs.com/rjjhyj/p/11496482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!