资源简介
利用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的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
评论
共有 条评论