OpenCV-轮廓
来源:互联网 发布:wind 量化 python 编辑:程序博客网 时间:2024/06/05 00:57
Canny边缘检测算法可以根据像素间的差异检测出轮廓边界的像素,但是并没有将轮廓作为一个整体。
利用cvFindContours()可以实现把边缘像素组装成轮廓。
有关内存和序列的知识比较多和复杂,就不在这里详细阐述了。
下面先给出一个轮廓的例子:
给出一个窗口用于显示图像,滑动条(trackbar)用于设置阈值,然后对采二值化后的图像提取轮廓并绘制。控制参数的滑动条变化,更新图像。
#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/highgui.hpp>using namespace std;using namespace cv;const char filename[] = "/Users/linwang/Downloads/Lena.jpg";IplImage * g_image = cvLoadImage(filename);IplImage * g_gray = NULL;int g_thresh = 100;CvMemStorage * g_storage = NULL; //存储/*滑动条*/void on_trackbar(int){ if(g_storage == NULL) { g_gray = cvCreateImage(cvGetSize(g_image), 8, 1); g_storage = cvCreateMemStorage(0); } else { cvClearMemStorage(g_storage); } CvSeq * contours = 0; //序列 /*1、先转换成灰度图像*/ cvCvtColor(g_image,g_gray,CV_RGB2GRAY); cvShowImage("Gray", g_gray); /*2、二值化,转换成二值图像,0和255*/ cvThreshold(g_gray,g_gray,g_thresh,255,CV_THRESH_BINARY); cvShowImage("double-value", g_gray); /*3、从二值图像中检索轮廓,并返回轮廓的个数*/ cvFindContours(g_gray,g_storage,&contours); cvZero(g_gray); /*4、绘制轮廓*/ if(contours) { cvDrawContours(g_gray, contours, cvScalar(255), cvScalar(255), 100); } cvShowImage("Contours", g_gray);}int main(){ if(g_image == NULL) { cout<<"Img is NULL"<<endl; return 1; } cvNamedWindow("Contours",1); cvCreateTrackbar("Threshold","Contours",&g_thresh, g_thresh ,on_trackbar); cvShowImage("Lena", g_image); on_trackbar(0); cvWaitKey(0); cvReleaseImage(&g_image); cvReleaseImage(&g_gray); return 0;}
阅读全文
0 0
- openCV轮廓
- OPENCV轮廓
- OpenCV 轮廓
- opencv:轮廓
- OpenCV-轮廓
- opencv 查找轮廓 绘制轮廓
- OpenCV 轮廓检测
- OpenCV查找轮廓
- opencv 轮廓描述
- opencv获取轮廓
- OpenCV笔记: 查找轮廓
- opencv寻找轮廓源代码
- 图像轮廓获取opencv
- OpenCV学习:轮廓
- OpenCV轮廓提取
- opencv-图像轮廓
- OpenCV轮廓检测
- OpenCV图像的轮廓
- 面向对象中的类,对象以及面向对象的封装特点
- 448. Find All Numbers Disappeared in an Array。
- 数据结构排序3--归并排序
- RSA公钥算法是怎么回事(一)
- java 多线程-for-join框架
- OpenCV-轮廓
- 对一个集合随机排序
- 计蒜客 Emptying the Baltic (BFS+Dijkstra)
- Sparkstreaming基于kafka以Receiver方式获取数据原理和案例实战
- Druid问题记录
- event|[pygame]中文文档
- 图解设计模式
- [USACO-Training 1.4]Mother's Milk
- VTK学习-智能指针