opencv轮廓识别
2016-11-16 22:18
471 查看
在OpenCV3.0+Visual Studio 2015下可运行
运行结果:
![](https://img-blog.csdn.net/20161116221928393)
#include <iostream> #include <string> #include<cv.h> #include<highgui.h> using namespace std; /* 轮廓检测代码 */ int main() { IplImage* src = NULL; IplImage* img = NULL; IplImage* dst = NULL; CvMemStorage* storage = cvCreateMemStorage(0);; CvSeq* contour = 0; int contours = 0; CvScalar external_color; CvScalar hole_color; src = cvLoadImage("C:\\Users\\Ediven\\Documents\\Visual Studio 2015\\Projects\\testOpenCV\\testOpenCV\\circles.jpg", 1); img = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);//灰度图 dst = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);//输出 /* 灰度化 */ cvCvtColor(src, img, CV_BGR2GRAY); /* 二值化 */ cvThreshold(img, img, 100, 200, CV_THRESH_BINARY); /* 轮廓检测 */ contours = cvFindContours(img, storage, &contour, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_NONE); /* cvDrawContours绘制 */ for (; contour != 0; contour = contour->h_next) { external_color = CV_RGB(rand() & 255, rand() & 255, rand() & 255); hole_color = CV_RGB(rand() & 255, rand() & 255, rand() & 255); cvDrawContours(dst, contour, external_color, hole_color, 1, 2, 8); } cvNamedWindow("Contour", 1); cvShowImage("Contour", dst); cvWaitKey(0); cvReleaseMemStorage(&storage); cvReleaseImage(&src); cvReleaseImage(&img); cvReleaseImage(&dst); return 0; }
运行结果:
相关文章推荐
- opencv轮廓提取、轮廓识别相关要点
- Opencv图像识别从零到精通(23)----轮廓
- opencv结构分析与形状识别-轮廓检测和填充(连通区域-边缘与整个图像的目标)
- iOS-OpenCV之视频流身份证轮廓识别
- 【opencv】目标识别——轮廓匹配
- 基于OpenCV的目标物体颜色及轮廓的识别方法
- opencv轮廓提取、轮廓识别相关要点
- 急求!vs10+opencv,如何在一张二值图中找出二维码的轮廓并提取出来然后进行识别啊?!
- opencv入门笔记之三 简单图像识别,识别线,点,圆,轮廓
- OpenCV——识别各省份地图轮廓
- opencv学习(四)轮廓识别
- 【OpenCV学习笔记】三十一、轮廓特征属性及应用(八)——颜色物体识别与跟踪
- python + openCV 实现图像轮廓识别和面积计算
- 使用Opencv进行轮廓检测,字符提取,简单的直方图字符识别!
- 【opencv】findContours轮廓检测与画轮廓drawContours
- 【opencv】Java实现opencv 调用本地摄像头,实现人脸识别、人形识别、人眼识别
- opencv 基于SVM的几何形状识别
- openCV人脸识别三种算法实现(官网翻译)
- Android 人脸识别+人脸匹配(OpenCV+JavaCV)
- 基于支持向量机的车牌识别-- opencv2.4.7+vs2012环境搭建