opencv寻找轮廓源代码
来源:互联网 发布:原单男装 淘宝店铺 编辑:程序博客网 时间:2024/06/02 07:31
#include "cv.h"
#include "highgui.h"
IplImage* src;
IplImage* img;
IplImage* dst;
CvMemStorage* storage=NULL;
int thresh=50;
void on_trackbar(int pos)
{
CvSeq* contour=0;
if(storage==NULL)
{
dst=cvCreateImage(cvGetSize(src),8,3);
storage=cvCreateMemStorage(0);
}
else
{
cvClearMemStorage(storage);
}
cvSmooth(src,src,CV_GAUSSIAN,3,3,0,0);
cvThreshold( src,img,thresh,200,CV_THRESH_BINARY);
cvNamedWindow( "threshold",1);
cvShowImage( "threshold", img );
cvFindContours(img,storage,&contour,sizeof(CvContour),CV_RETR_CCOMP,CV_CHAIN_APPROX_NONE,cvPoint(0,0));
cvZero( dst );
//cvDrawContours(dst,contour,CV_RGB(255,0,0),CV_RGB(0,255,0),-1,1,CV_AA,cvPoint(0,0));
for( ; contour; contour = contour->h_next )
{
CvRect rect=cvBoundingRect(contour,1);
CvPoint pt1=cvPoint(rect.x,rect.y),
pt2=cvPoint(rect.x+rect.width,rect.y+rect.height);
cvRectangle(dst,pt1,pt2,CV_RGB(255,0,0),1,CV_AA,0);
cvLine(dst,pt1,pt2,CV_RGB(0,255,0),1,CV_AA,0);
pt1=cvPoint(rect.x,rect.y+rect.height),
pt2=cvPoint(rect.x+rect.width,rect.y);
cvLine(dst,pt1,pt2,CV_RGB(0,255,0),1,CV_AA,0);
}
cvShowImage( "Components", dst );
}
int main( int argc, char** argv )
{
if(argc==2&&(src=cvLoadImage(argv[1],0))!=0)
{
img=cvCreateImage(cvGetSize(src),8,1);
cvNamedWindow( "Source",1);
cvShowImage( "Source", src );
cvNamedWindow( "Components",1);
cvCreateTrackbar("Threshold","Components",&thresh,200,on_trackbar);
on_trackbar(0);
cvWaitKey(0);
cvDestroyWindow( "sorce" );
cvDestroyWindow( "threshold" );
cvDestroyWindow( "Components" );
cvReleaseImage( &src);
cvReleaseImage( &img );
cvReleaseImage(&dst);
cvReleaseMemStorage(&storage);
}
}
- opencv寻找轮廓源代码
- opencv寻找轮廓
- Opencv 寻找图像最大轮廓
- opencv寻找轮廓2--drawContours
- OpenCV: 寻找图像轮廓并绘制
- OpenCV: 寻找图像轮廓并绘制
- opencv学习之findcounters 寻找轮廓
- 【opencv练习33 - 寻找轮廓凸壳】
- opencv学习之寻找轮廓并绘制轮廓
- 寻找轮廓
- 寻找轮廓
- 寻找轮廓
- opencv基于轮廓寻找的视频流运动检测
- OpenCV使用的一些经验总结,寻找最大轮廓、旋转
- opencv学习之寻找凸包,使用多边形包围轮廓
- opencv学习(四十)之寻找图像轮廓findContours()
- OpenCV学习笔记(22)寻找轮廓小程序
- openCV轮廓
- STRUTS面试题
- umd文件结构深度解剖
- CFileFind实现遍历文件夹,获得文件夹下子文件个数,亲测通过
- java多线程-概念和作用
- FLex 手动跳帧
- opencv寻找轮廓源代码
- C#一种关于闰年的输出
- 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题
- 静态库和动态库链接那些事
- 秋雨寄相思
- 深析静态链接库和动态链接库相同函数覆盖及库调用顺序问题
- TSP问题 MTSP 双调TSP 商旅问题 中国邮差问题 担货郎问题
- android--多View切换viewpager
- Java泛型-类型擦除