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

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;  
    }  
}

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

时间: 2024-11-11 17:55:49

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

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

std::vector 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/d

用轮廓树(CvContourTree)来描述两个轮廓的相似度量度

#include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> #include "function.h" int MatchContour(int argc,char** argv) { IplImage *Src1=cvLoadImage("e:\\picture\\jiantou.jpg",0); I

opencv学习之路(26)、轮廓查找与绘制(五)——最小外接矩形

一.简介 二.轮廓最小外接矩形的绘制 1 #include "opencv2/opencv.hpp" 2 using namespace cv; 3 4 void main() 5 { 6 //轮廓最小外接矩形的绘制 7 Mat srcImg = imread("E://00.png"); 8 Mat dstImg = srcImg.clone(); 9 cvtColor(srcImg, srcImg, CV_BGR2GRAY); 10 threshold(srcI

opencv学习之基于背景提取等目标跟踪算法#20190704

/* *********************************************************************************************************************** 任务目标: 基于背景提取的目标跟踪算法实践及代码分析. ***************************************************************************************************

《opencv实战》 之 局部极值提取

局部极值提取算法 这是http://www.imagepy.org/的作者原创,我只是对其理解之后改进和说明,欢迎大家使用这个小软件! 算法原理:(按照程序思路来,当然其中很多可以改进的地方) 第一步: 先进行距离变换(这类问题都是要通过几何操作进行,距离变换就是几何距离) 第二步: 先找全局可能最大值,然后对图像进行标记 全局可能最大值是基础,3X3核在图像上滑动去找全局可能最大值.标记是为了掩膜操作更方便,你看opencv很多函数都有掩膜,PS上面也有那个白色的膜. 图片结果是:背景和最大值

《opencv实战》 之 中轴线提取

中轴线算法 这是http://www.imagepy.org/的作者原创,我只是对其理解之后改进和说明,欢迎大家使用这个小软件! 首先上效果图: 算法的流程: 第一步: 距离变换 第二步: 把距离变换的图像进行像素值的排列(排列返回像素的位置信息) 第二步: 从小到大进行像素的查表操作 注释:这里为什么叫中轴线提取?因为提取的过程是绝对的按照对称来的,距离变换的结果就是前景到背景的距离,所以结果是绝对的集合中心. 代码: 1 import numpy as np 2 from skimage.d

opencv 容器的使用vector&lt;std::vector&lt;cv::Point&gt;&gt; or 轮廓存储到容器中

vector> allcontourpoint://二层容器 std::vector Pointpoly; //一层容器 allcontourpoint.pop_back(); //弹出上一个, allcontourpoint.push_back(Pointpoly); //存储一个 vector>contours://轮廓 allcontourpoint.push_back(contours[i]); //存储一个 //i ,存储哪一个轮廓 原文地址:https://www.cnblogs.

opencv之纹理特征的提取

版权声明:本文为博主原创文章,未经博主允许不得转载.

关于Huffman 算法中一次提取2个最小权重值的操作实现

/* * ===================================================================================== * * Filename: min_two_selector.cpp * * Description: * 找出整形数组中的两个最小值,并将其和重新放入该数组 * * Version: 1.0 * Created: 09/14/2014 10:44:19 PM * Revision: none * Compiler: