• 大小: 2.25MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-04
  • 语言: 其他
  • 标签: Opencv  

资源简介

利用VS2010和Opencv实现物体的追踪

资源截图

代码片段和文件信息


#include 
#include “stdafx.h“
#include 
#include 
#include 
#include “math.h“
 

int main(  )
{
    IplImage* src;
IplImage* dst;
IplImage* color_dst;
CvMemStorage * storage;
CvSeq * lines;
CvPoint *longline;
int i;

float centerX=0;
float centerY=0;
//src=cvLoadImage(“box2.jpg“0);
cvNamedWindow(“Source“1);
cvNamedWindow(“Hough“1);

CvCapture* pCapture = NULL;

//打开摄像头
    if( !(pCapture = cvCaptureFromCAM(-1)))
    {
    printf(“Can not open camera!\n“);
    return -1;
}
for(int l=0;l<15;l++)
src = cvQueryframe( pCapture );
if(src==0){
    printf(“Can not read frame!\n“);
return -1;
}
dst =cvCreateImage(cvGetSize(src)81);
color_dst = cvCreateImage(cvGetSize(src)83);
storage = cvCreateMemStorage(0);
lines = 0;

while(1)
{
src = cvQueryframe( pCapture );

    cvCanny(srcdst502003);
cvCvtColor(dstcolor_dstCV_GRAY2BGR);

# if 0
lines = cvHoughLines2(dststorageCV_HOUGH_STANDARD1CV_PI/18015000);

for(i=0;itotal;i++)
{
float* line =(float*)cvGetSeqElem(linesi);
float rho=line[0];
float theta =line[1];
CvPoint pt1pt2;
double a = cos(theta)b=sin(theta);
if(fabs(a)<0.001)
{
 pt1.x=pt2.x=cvRound(rho);
 pt1.y =0;
 pt2.y=color_dst->height;
}
else if(fabs(b)<0.001)
{
 pt1.y=pt2.y=cvRound(rho);
 pt1.x =0;
 pt2.x=color_dst->width;   
}
else
{
pt1.x=0;
pt1.y=cvRound(rho/b);
pt2.x=cvRound(rho/a);
pt1.y=0;
}
cvLine(color_dstpt1pt2CV_RGB(25500)33);
}
#else
lines = cvHoughLines2(dststorageCV_HOUGH_PROBABILISTIC1CV_PI/180605040);
for(i=0;itotal;i++)
{
CvPoint*line =(CvPoint*)cvGetSeqElem(linesi);
cvLine(color_dstline[0]line[1]CV_RGB(25500)28);
cvLine(srcline[0]line[1]CV_RGB(25500)28);
//中心点
centerX=centerX+line[0].x+line[1].x;
centerY=centerY+line[0].y+line[1].y;
}
printf(“total line :%d\n“lines->total);
centerX=centerX/(lines->total*2);
centerY=centerY/(lines->total*2);
cvCircle(srccvPoint(centerXcenterY)5CV_RGB(25500)380);
#endif

CvFont font;     //输出信息
        cvInitFont(&fontCV_FONT_HERSHEY_TRIPLEX 1 1 1 1 8); 
        cvPutText(src“Find box!“ cvPoint(5050) &font CV_RGB(25500));       

cvShowImage(“Source“src);
cvShowImage(“Hough“color_dst);

cvWaitKey(2);
 


}
cvDestroyWindow( “Source“ );   //释放资源
cvDestroyWindow( “Hough“ );

cvReleaseMemStorage(&storage);
cvReleaseImage( &dst);   
cvReleaseImage( &color_dst);  
cvReleaseCapture(&pCapture);
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-05-24 22:53  boxLocate\
     目录           0  2015-05-24 22:53  boxLocate\boxLocate\
     文件     2576384  2015-05-24 22:52  boxLocate\boxLocate.sdf
     文件         894  2015-05-23 19:33  boxLocate\boxLocate.sln
     文件       11264  2015-05-24 22:52  boxLocate\boxLocate.suo
     文件       74390  2015-05-23 19:33  boxLocate\boxLocate\box1.jpg
     文件       77791  2015-05-23 19:33  boxLocate\boxLocate\box2.jpg
     文件       80238  2015-05-23 19:33  boxLocate\boxLocate\box3.jpg
     文件       78638  2015-05-23 19:33  boxLocate\boxLocate\box4.jpg
     文件       76691  2015-05-23 19:33  boxLocate\boxLocate\box5.jpg
     文件       67726  2015-05-23 19:33  boxLocate\boxLocate\box6.jpg
     文件       77699  2015-05-23 19:33  boxLocate\boxLocate\box7.jpg
     文件       77286  2015-05-23 19:33  boxLocate\boxLocate\box8.jpg
     文件       72157  2015-05-23 19:33  boxLocate\boxLocate\box9.jpg
     文件        2735  2015-05-23 19:33  boxLocate\boxLocate\boxLocate.cpp
     文件        4776  2015-05-23 19:33  boxLocate\boxLocate\boxLocate.vcxproj
     文件        1313  2015-05-23 19:33  boxLocate\boxLocate\boxLocate.vcxproj.filters
     文件         143  2015-05-23 19:33  boxLocate\boxLocate\boxLocate.vcxproj.user
     目录           0  2015-05-24 22:53  boxLocate\boxLocate\Debug\
     文件           2  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.exe.embed.manifest
     文件          68  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.exe.embed.manifest.res
     文件         381  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.exe.intermediate.manifest
     文件          47  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.lastbuildstate
     文件        3037  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.log
     文件      119481  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.obj
     文件     1179648  2015-05-23 19:34  boxLocate\boxLocate\Debug\boxLocate.pch
     文件         707  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.vcxprojResolveAssemblyReference.cache
     文件           0  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate.write.1.tlog
     文件         208  2015-05-23 19:33  boxLocate\boxLocate\Debug\boxLocate_manifest.rc
     文件        1394  2015-05-23 19:33  boxLocate\boxLocate\Debug\cl.command.1.tlog
     文件       23582  2015-05-23 19:33  boxLocate\boxLocate\Debug\CL.read.1.tlog
............此处省略26个文件信息

评论

共有 条评论