OpenCV入门九:使用findContours()查找图片轮廓线,并将轮廓线坐标点输出
来源:互联网 发布:百度竞价排名软件 编辑:程序博客网 时间:2024/05/21 18:36
使用findContours()查找图片轮廓线,并将轮廓线坐标点输出,访问二维vector,使用迭代器和下标两种方式
#include <iostream> #include <fstream>#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>#include <math.h>using namespace cv; using namespace std;int main() { //载入原始图,且必须以二值图模式载入Mat M=imread("E:/A.bmp",0);imshow("原始图",M);waitKey(500); //等待5000ms后窗口自动关闭//初始化结果图Mat dstImage=Mat::zeros(M.rows,M.cols,CV_8UC3);//M提取阈值小于250的部分M=M<250;imshow("阈值",M);waitKey(50);//定义轮廓和层次结构vector<vector<Point>>contours;vector<Vec4i>hierarchy;findContours(M,contours,hierarchy,RETR_EXTERNAL,CHAIN_APPROX_NONE);//迭代器输出/*for (vector<vector<Point>>::iterator it=contours.begin();it!=contours.end();++it){for (vector<Point>::iterator inner_it=it->begin();inner_it!=it->end();++inner_it){cout<<*inner_it<<endl;}}*///下标输出for (int i=0;i<contours.size();i++){for (int j=0;j<contours[i].size();j++){cout<<contours[i][j].x<<""<<contours[i][j].y<<endl;ofstream f;f.open("E:/坐标轮廓线.txt",ios::out|ios::app);f<<contours[i][j].x<<""<<contours[i][j].y<<endl;}}//遍历顶层轮廓,以随机颜色绘制出每个连接组件颜色int index=0;for (;index>=0;index=hierarchy[index][0]){Scalar color(rand()%255,rand()%255,rand()%255);drawContours(dstImage,contours,index,color,1,8,hierarchy);}imshow("轮廓图",dstImage);waitKey(5000); //等待5000ms后窗口自动关闭getchar();}
1 0
- OpenCV入门九:使用findContours()查找图片轮廓线,并将轮廓线坐标点输出
- OpenCV中findContours查找后获得轮廓数 轮廓包含点数 各点坐标的实践
- opencv 轮廓查找 findContours
- 使用OpenCV的函数findContours提取轮廓并绘制轮廓
- 使用OpenCV的findContours获取轮廓并切割(python)
- findContours 轮廓查找
- Atitit 查找轮廓 findContours
- findcontours查找轮廓函数
- opencv 查找并绘制轮廓
- 初学 OpenCV 图像加载、输出+图像轮廓提取绘制并取出每个轮廓的坐标集合
- findContours 介绍及轮廓查找
- opencv找轮廓线并绘制轮廓线
- 已知图片某区域内所有点坐标,求区域周长(非opencv轮廓提取)
- opencv: 绘制矩形轮廓框,并记录轮廓框坐标
- opencv 查找轮廓 绘制轮廓
- OpenCV轮廓查找(一)
- 查找轮廓并获取最大轮廓的所有点
- 【OpenCV学习笔记】二十五、轮廓查找与绘制(二)访问轮廓中每个点
- 性能优化十四之电量分析工具Battery Historian使用
- SpringMVC学习(1.helloworld)
- 机器学习中的线性代数之矩阵求导
- Linux下使用shutdown.sh脚本关闭tomcat无法使得JVM关闭
- /usr/sbin
- OpenCV入门九:使用findContours()查找图片轮廓线,并将轮廓线坐标点输出
- 使用Git上传项目至Github
- 57-System V 共享内存-shmctl
- Excle导入
- 灰色系统理论概论(个人总结)
- 算法提高 矩阵相乘
- 洛谷1583 佳佳的魔法照片
- 流
- 大公司技术博客站点汇总