• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: opencv  

资源简介

没有加头文件,使用的是callback 跟踪用的是像素匹配 电脑不好的可能会卡

资源截图

代码片段和文件信息

IplImage * src;//定义一个img 存储每一帧图像
IplImage *ftemp[6];
IplImage * cpl;
//IplImage  *temp1;
int i=0MxMy;
int iijjkk;
char c;
CvPoint  MatchMin;
CvPoint  MatchMax;
CvRect box;
bool draw_box=false;
int draw_finish=1;
int flag=1;
void suanfa(IplImage * srcIplImage * temp);
void mouseHandler(int eventint xint yint flagsvoid * param);
void DrawBox(IplImage * imgCvRect rect);
IplImage* cvGetSubImage(IplImage *image CvRect roi);
void main()

CvCapture * capture;//初始化capture
capture=cvCreateCameraCapture(0);//初始化摄像头
cvNamedWindow ( “Image“ 1 );
cvNamedWindow( “F“ 1 );
cvSetMouseCallback(“Image“mouseHandlerNULL);//*注册鼠标
for(;;){
 if(flag!=0){
src=cvQueryframe(capture);//获取当前帧
if(cpl!=0){
   suanfa(srccpl);
}
DrawBox(srcbox);//*

cvShowImage( “Image“ src );
cvReleaseImage(&ftemp[i]);
 }

  c=cvWaitKey(33);
  if (c==32) 
  {
   do  c=cvWaitKey(0); 
   while (c!=13 && c!=27);
   {
   
   }
  }
  if(c==27) break;
}
}
void mouseHandler(int eventint xint yint flagsvoid * param)
{
 switch(event){
 case CV_EVENT_LBUTTONDOWN:{
       draw_finish=(draw_finish+1)%2;   
       draw_box=true;
       box.width=0;
       box.height=0;
       box.x=x;
       box.y=y;
       }break;
 case CV_EVENT_LBUTTONUP:{
       draw_finish=(draw_finish+1)%2;
       draw_box=false;
       cpl=cvGetSubImage(srcbox);
       box.width=x-box.x;
       box.height=y-box.y;
       }break;
 case CV_EVENT_MO

评论

共有 条评论