资源简介
红绿灯识别 opencv 运动物体识别
代码片段和文件信息
////////本方案通过色彩检测和亮度检测来判断红灯,然后通过帧差法进行闯红灯的判决////////
#include “cv.h“
#include “highgui.h“
#include
#include
//全局变量的初始化
IplImage* image=0;
int select_object = 0;
int track_object = 0;
CvPoint origin;
CvRect selection;
CvRect selection1;
CvRect selection2;
int nRect=0;
char namestr[20];
//选定框标识位的初始化,判断到底框的是哪个框
int selectflag1=0;
int selectflag2=0;
void on_mouse( int event int x int y int flags void* param )//鼠标控制选框程序
{
if( !image )
return;
if( image->origin )
y = image->height - y;//换坐标
if( select_object )
{
selection.x = MIN(xorigin.x);
selection.y = MIN(yorigin.y);
selection.width = selection.x + CV_IABS(x - origin.x);
selection.height = selection.y + CV_IABS(y - origin.y);
selection.x = MAX( selection.x 0 );
selection.y = MAX( selection.y 0 );
selection.width = MIN( selection.width image->width );
selection.height = MIN( selection.height image->height );
selection.width -= selection.x;
selection.height -= selection.y;
}
switch( event )
{
case CV_EVENT_LBUTTONDOWN:
origin = cvPoint(xy);
selection = cvRect(xy00);
select_object = 1;
break;
case CV_EVENT_LBUTTONUP:
select_object = 0;
if( selection.width > 0 && selection.height > 0 )
track_object = -1;
break;
}
}
int main( int argc char* argv[] )
{
/////////变量初始化//////////////
int xyn=0elementall=0m=0;
int redflag=0;
IplImage* frame = 0;
IplImage* lightred=0;
IplImage* lightredgray=0;
IplImage* trafficcrash=0;
IplImage* trafficcrash1=0;
IplImage* trafficcrashgray=0;
IplImage* trafficcrash1gray=0;
IplImage* Imask=0;
/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
CvCapture* capture = 0;
capture = cvCaptureFromAVI( “E:\\opencv毕业设计资料\\Rec02282~1.avi“ ); ////视频提取
if( !capture )
{
fprintf(stderr“Could not initialize capturing...\n“);///如果没有视频报错
return -1;
}
cvNamedWindow( “test“ 1 );
cvSetMouseCallback( “test“ on_mouse 0 );//鼠标反馈动作
///////////////////////////////视频帧提取//////////////////////////////////////////////
for(;;)
{
m++;
frame = cvQueryframe( capture );
if( !frame )
break;
///////////////将帧提取出来进行处理///////////////////////
image = cvCreateImage( cvGetSize(frame) 8 3 );
cvCopy( frame image 0 );
image->origin = frame->origin;//原点交给image变量
cvShowImage(“test“image);
/////////////////选中的框赋值问题//////////////////////////////////
if(nRect==0&&track_object ==-1)///如果是第一次框,表示为判别交通灯是否为红灯的框
{
nRect++;
track_object=0;
selection1=selection;
selectflag1=1;
}
if(nRect==1&&track_object==-1)///如果是第二次框,表示为判定闯红灯的框
{
nRect++;
selection2=sel
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 34304 2012-04-14 19:38 traffic\Debug\traffic.exe
文件 384616 2012-04-14 19:38 traffic\Debug\traffic.ilk
文件 1231872 2012-04-14 19:38 traffic\Debug\traffic.pdb
文件 8917 2012-04-14 19:38 traffic\traffic\camshiftdemo.cpp
文件 7060 2012-04-14 19:38 traffic\traffic\Debug\BuildLog.htm
文件 118798 2012-04-14 19:38 traffic\traffic\Debug\camshiftdemo.obj
文件 67 2012-04-14 19:38 traffic\traffic\Debug\mt.dep
文件 621 2012-04-14 19:38 traffic\traffic\Debug\traffic.exe.intermediate.manifest
文件 863232 2012-04-14 19:38 traffic\traffic\Debug\vc90.idb
文件 921600 2012-04-14 19:38 traffic\traffic\Debug\vc90.pdb
文件 3960 2012-03-30 21:46 traffic\traffic\traffic.vcproj
文件 1427 2012-05-06 08:47 traffic\traffic\traffic.vcproj.274B481A3D534D0.Administrator.user
文件 17116160 2012-05-06 08:47 traffic\traffic.ncb
文件 887 2012-03-30 21:44 traffic\traffic.sln
..A..H. 11776 2012-05-06 08:47 traffic\traffic.suo
目录 0 2012-05-06 08:48 traffic\traffic\Debug
目录 0 2012-05-06 08:48 traffic\Debug
目录 0 2012-05-06 08:48 traffic\traffic
目录 0 2012-05-06 08:48 traffic
----------- --------- ---------- ----- ----
20705297 19
相关资源
- freeglut,包括.dll、.h和.lib文件,完美
- Opencv摄像头校正
- OpenCV识别出两张图片的人脸,并比较
- 基于QtOpenCV实现GraphCuts算法
- 基于颜色识别的火焰检测算法的open
- opencv红绿灯识别样本北京市的红绿灯
- 基于OpenCV的火灾视频识别方法研究
- opencv人脸检测训练用到的正样本图像
- opencv haartraining 合并.vec文件的工具
- OpenCV3入门pdf
- 基于OpenCV的红点识别
- slam 开源代码ptam and ptamm
- opencv3.4.3 mingw32编译
- 圆形公章的定位检测
-
haarcascade_mcs等所有识别xm
l文件 - 利用OpenCV在VS2015平台下对进行人脸识
- hand-gesture-recognition-opencv-master.zip
- imageStitching实现图像拼接
- 圆点摄像头激光测距源代码---本人亲
- opencv图像分类样本
- 32位 opencv 3.4.1 lib和dll文件
- 基于OpenCV的红绿灯识别
- opencv手写英文字符识别
- OpenCV测试工程
- 基于Opencv3.0生成的dll
- arm版opencv-2.4.9
- opencv3 图片外接矩形框
- OPENCV 合成两张焦点不同,图像相同的
- OPENCV 找出图片焦点
- 《视觉系统设计》
评论
共有 条评论