资源简介
利用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.em
文件 68 2015-05-23 19:33 boxLocate\boxLocate\Debug\boxLocate.exe.em
文件 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个文件信息
- 上一篇:数字电子技术基础唐治德答案
- 下一篇:基于web点餐系统的设计与实现
相关资源
- 基于OpenCV多目标的模板匹配算法
- Opencv中文手册资料
- opencv js单独文件
- opencv车辆检测model
- 编译opencv缺失的boostdesc_bgm.i等文件
- 基于OpenCV进行图像拼接原理解析和编
- boostdesc_bgm.i等.tar.gz
- 色彩恢复的多尺度Retinex算法MSRCR-VS2
- opencv3.3 自编译需要的xfeatures2d
- OpenCVdemo6by浅墨.rar
- 视频前景提取基于opencv的运动物体检
- 光流法运动跟踪
- KCF视频目标跟踪OPENCV+VS+WIN
- cv100.dll、cxcore100.dll、cxts001.dll、high
- OpenNI、OpenCV安装与开发环境配置
- opencv特征提取 颜色直方图、纹理
- 基于opencv的图像检索系统
- 基本opencv的粒子滤波目标跟踪
- OpenCV上目标跟踪和行人跟踪需要的视
- OpenCV图像视频采集 DirectShow 64位32位库
-
opencvHaar特征进行的分类器-所有xm
- 视觉词袋训练
- vgg_generated_48,vgg_generated_64,vgg_gene
-
opencv的xm
l文件 - openCV 车牌分割
- 基于OpenCV的模拟仪表指针读数识别系
- 指纹提取与识别系统VC源码opencv
-
Measuring size of ob
jects in an image with - opencv实现两幅图像的极线约束匹配
- Criminisi算法OpenCV程序
评论
共有 条评论