⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4-9.cpp

📁 基于OpenCV的计算机视觉技术实现.rar
💻 CPP
字号:
// ***************************************************************
//  4-9   version:  1.0   ? date: 09/10/2007
//  -------------------------------------------------------------
//  
//  -------------------------------------------------------------
//  Copyright (C) 2007 - All Rights Reserved
// ***************************************************************
// 
// ***************************************************************



///*



#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include "iostream.h"


void main( )
{

	int i=0;
	int mode =CV_RETR_EXTERNAL;			//提取轮廓的模式
	int contours_num=0;				//图像中提取的轮廓的数目

	CvMemStorage * storage = cvCreateMemStorage(0);	//提取轮廓时需要的存储容器

	CvSeq * contour = 0;				//存储提取轮廓的序列指针



	IplImage* bin_img=cvLoadImage("bin_img.jpg",0);	//读取待检测轮廓的图像

	cvThreshold(bin_img, bin_img,128,255,CV_THRESH_BINARY);	//二值化


	IplImage* pContourImg = cvCreateImage(cvGetSize(bin_img),IPL_DEPTH_8U,3);	//轮廓绘制图


	cvNamedWindow( "bin_img",1);

	cvShowImage( "bin_img", bin_img );		//显示二值图 

 
      //-------------------cvFindContours查找物体轮廓-------------------------

	 mode = CV_RETR_EXTERNAL;		//只提取最外层的轮廓	
	 
	 contours_num=cvFindContours( bin_img, storage, &contour, sizeof(CvContour), mode, CV_CHAIN_APPROX_NONE);
	 
	 cout<<"检测出的轮廓数目:"<<contours_num<<"  "<<endl;		//找到的轮廓数目

	 
    //---------------------------逐点将轮廓画出----------------------


        CvSeqReader reader;	//读序列

	int count =0;

	if(contour!=0)		//输出组成轮廓的点的数目
	{
		count = contour->total;
		cout<<count<<endl;
	}
 

	 cvStartReadSeq( contour, &reader, 0 );

	  CvPoint pt1;
	  CvScalar color = CV_RGB( 255, 255, 255 );;

	  cvNamedWindow( "contour",1);
	  cvShowImage( "contour", pContourImg );
	  
	  for( i = 0; i < count; i++ )	//逐点将轮廓画出
	  {
		  CV_READ_SEQ_ELEM( pt1, reader );	
	
		  cvCircle(pContourImg,pt1,1,color);

		  cvShowImage( "contour", pContourImg );

		  cvWaitKey(5);

	  }


	  cvWaitKey(0);
		  

	  //释放
	  cvReleaseImage( &bin_img );
	  cvReleaseImage( &pContourImg ); 	  
	  cvReleaseMemStorage(&storage);
	  
}


//*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -