OPENCV学习笔记 提取连通区域的轮廓
来源:互联网 发布:原画人网络班 编辑:程序博客网 时间:2024/05/27 09:44
方法取自Opencv2计算机视觉编程手册
图像分析的其中目标是识别并提取出这些物体。在物体检测中,我们首先要生成图像的二值图像,下一步则是提取连通区域。
二值图像的获取我们通过简单的阀值化操作和形态学开闭运算得到。
实验代码:
Matimage=imread("E:\\group.jpg",0);//提取二值图像Mat thresholded;Mat result;threshold(image,thresholded,60,255,THRESH_BINARY);bitwise_not(thresholded,result,Mat());保存thresholded图像,命名为binary.png。//形态学闭运算与开运算Mat image=imread("E:\\binary.png");Mat eroded;Mat element(5,5,CV_8U,Scalar(1));morphologyEx(image,eroded,MORPH_OPEN,element);namedWindow(" Eroded Image");imshow("Eroded Image",eroded);Mat dilated;dilate(image,dilated,Mat());erode(dilated,dilated,Mat());namedWindow("Dilated Image");imshow("Dilated Image",dilated);以上可以得到我们所需的二值图像opencv中给我们提供了findContours这个函数用于提取连通区域轮廓。我们可以设置我们想要得到的轮廓大小,进行删减。代码如下:Mat image=imread("E:\\Dilated.png",0);vector<std::vector<cv::Point> >contours;findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);Mat result(image.size(),CV_8U,Scalar(255));drawContours(result,contours,-1,Scalar(0),2);imshow("Contours",result);int cmin=100;int cmax=1000;vector<std::vector<cv::Point> >::iterator itc = contours.begin();while(itc!=contours.end()){ if(itc->size()<cmin||itc->size()>cmax) itc =contours.erase(itc); else itc++;}Mat image2=imread("E:\\group.jpg");drawContours(image2,contours,-1,Scalar(255,255,255),2);imshow("image",image2);
生成的图像如下:(图像上方还是有点瑕疵的,不过可以调整二值图像优化)
0 0
- OPENCV学习笔记 提取连通区域的轮廓
- 【OpenCV学习笔记 010】提取直线、轮廓及连通区域
- 【OpenCV学习笔记 010】提取直线、轮廓及连通区域
- OPENCV中提取连通区域轮廓
- Opencv2系列学习笔记10(提取连通区域轮廓)
- 【转】Opencv2系列学习笔记10(提取连通区域轮廓)
- Opencv2系列学习笔记10(提取连通区域轮廓)
- 提取合适连通区域轮廓
- OpenCV 基于轮廓提取的二值图像分析与连通区域标记算法
- OpenCV2编程手册笔记之 7.5提取连通区域轮廓
- 基于轮廓的图像分割、连通区域提取
- opencv学习笔记12 图像轮廓的提取和绘制
- OpenCV提取轮廓的方法获取瞳孔区域及中心
- opencv之7.5提取联通区域的轮廓
- opencv学习:提取物体的轮廓矩
- opencv学习_9 (轮廓提取)
- opencv学习_9 (轮廓提取)
- opencv 连通区域边界坐标提取
- ARM WFI和WFE指令
- 第一步Windows安装JAVA
- phpStorm for mac 7.1.4注册码
- Android入门:广播发送者与广播接收者(同步广播和有序广播)
- iOS-Quartz2D绘图的基础用法总结
- OPENCV学习笔记 提取连通区域的轮廓
- 开灯关灯问题
- Python之os.system()找不到路径的原因
- Ugly Number I 和 II LeetCode
- 不抛出异常的swap函数
- UILabel圆角、边框、宽度自适应
- 看看世界上薪水最高的公司,一对比我哭了...
- 广播 注册和xml形式
- LeetCode Distinct Subsequences DP