资源简介
基于OpenCV的车辆检测,包含两个检测小视频,能识别车辆,保存车辆图片。在vs,ubuntu和树莓派上均可以运行成功,可能需要修改部分图像保存的代码。方法比较简单,适合新手入门。
代码片段和文件信息
#include
#include
#include
using namespace cv;
using namespace std;
int main(int argc char** argv)
{
string videoFileName = “D:/opencv/project/sources/2.3.mov“;
int threshold = 20; // 二值化阈值
float alpha = 0.5; // 更新速度 [0 1]
VideoCapture capture;
capture.open(videoFileName);
if (!capture.isOpened())
{
cout << “cannot open video“ << std::endl;
return -1;
}
Mat foregroundImg;//显示格式
Mat foregroundMat;//处理格式
Mat backgroundImg;
Mat backgroundMat;
Mat frame;//原始图像
Mat grayImg;//灰度化图像
Mat grayMat;//转化过的灰度值图像
int first_x = 0; //矩形框调试
int first_y = 0;
int second_x = 0;
int second_y = 0;
Mat route1_b;//ROI区
Mat route1_f;
Mat route2_b;
Mat route2_f;
Mat route3_b;
Mat route3_f;
Mat route1_b_ROI;
int route1_b_num = 0;//像素数
int route1_b_car = 0;//汽车数量
char route1_b_name[100];
int route1_b_out_save[2];//像素点保存
Mat route1_f_ROI;
int route1_f_num = 0;
int route1_f_car = 0;
char route1_f_name[100];
int route1_f_out_save[2];
Mat route2_b_ROI;
int route2_b_num = 0;
int route2_b_car = 0;
char route2_b_name[100];
int route2_b_out_save[2];
Mat route2_f_ROI;
int route2_f_num = 0;
int route2_f_car = 0;
char route2_f_name[100];
int route2_f_out_save[2];
Mat route3_b_ROI;
int route3_b_num = 0;
int route3_b_car = 0;
char route3_b_name[100];
int route3_b_out_save[2];
Mat route3_f_ROI;
int route3_f_num = 0;
int route3_f_car = 0;
char route3_f_name[100];
int route3_f_out_save[2];
int route1_b_buff[10] = { 0 };//滤波参数
int64 route1_b_out = 0;
int route1_b_cnt = 0;
int64 route1_b_temp = 0;
int route1_f_buff[7] = { 0 };
int64 route1_f_out = 0;
int route1_f_cnt = 0;
int64 route1_f_temp = 0;
int route2_b_buff[7] = { 0 };
int64 route2_b_out = 0;
int route2_b_cnt = 0;
int64 route2_b_temp = 0;
int route2_f_buff[7] = { 0 };
int64 route2_f_out = 0;
int route2_f_cnt = 0;
int64 route2_f_temp = 0;
int route3_b_buff[7] = { 0 };
int64 route3_b_out = 0;
int route3_b_cnt = 0;
int64 route3_b_temp = 0;
int route3_f_buff[7] = { 0 };
int64 route3_f_out = 0;
int route3_f_cnt = 0;
int64 route3_f_temp = 0;
while (capture.read(frame))
{
//namedWindow(“Connected Components1“ 1); //调试专用滑条窗口
//namedWindow(“Connected Components2“ 1);
//namedWindow(“Connected Components3“ 1);
//namedWindow(“Connected Components4“ 1);
//createTrackbar(“first_x“ “Connected Components1“ &first_x 600);
//createTrackbar(“first_y“ “Connected Components2“ &first_y 600);
//createTrackbar(“second_x“ “Connected Components3“ &second_x 600);
//createTrackbar(“second_y“ “Connected Components4“ &second_y 600);
//rectangle(frame cvPoint(first_x first_y) cvPoint(second_x second_y) cvScalar(0 255 0) 1 4 0);
cvtColor(frame grayImg CV_BGR2GRAY);//图像灰度化
//imshow(“grayImg“ grayImg);
grayImg.conver
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25989618 2016-11-19 17:37 car_Detect-m\2.3.mov
文件 1592580 2016-11-04 16:48 car_Detect-m\flow_differ_m\9.avi
文件 114688 2017-01-20 21:45 car_Detect-m\flow_differ_m\Debug\flow_differ.exe
文件 533892 2017-01-20 21:45 car_Detect-m\flow_differ_m\Debug\flow_differ.ilk
文件 4516864 2017-01-20 21:45 car_Detect-m\flow_differ_m\Debug\flow_differ.pdb
文件 0 2016-12-01 18:11 car_Detect-m\flow_differ_m\flow_differ\after_f.txt
文件 126288 2016-12-01 18:11 car_Detect-m\flow_differ_m\flow_differ\befor_f.txt
文件 560 2017-03-11 19:24 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.log
文件 4298 2017-01-20 21:45 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\cl.command.1.tlog
文件 47074 2017-01-20 21:45 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\CL.read.1.tlog
文件 724 2017-03-11 19:24 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\CL.write.1.tlog
文件 204 2017-03-11 19:24 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\flow_differ.lastbuildstate
文件 15710 2017-01-20 21:45 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\li
文件 4796 2017-03-11 19:24 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\li
文件 702 2017-03-11 19:24 car_Detect-m\flow_differ_m\flow_differ\Debug\flow_differ.tlog\li
文件 373911 2017-01-20 21:45 car_Detect-m\flow_differ_m\flow_differ\Debug\main.obj
文件 1453056 2017-01-20 21:45 car_Detect-m\flow_differ_m\flow_differ\Debug\vc120.idb
文件 1421312 2017-01-20 21:45 car_Detect-m\flow_differ_m\flow_differ\Debug\vc120.pdb
文件 4088 2016-11-26 14:58 car_Detect-m\flow_differ_m\flow_differ\flow_differ.vcxproj
文件 948 2016-11-26 14:58 car_Detect-m\flow_differ_m\flow_differ\flow_differ.vcxproj.filters
文件 8307 2016-11-27 21:45 car_Detect-m\flow_differ_m\flow_differ\main - 副本.cpp
文件 16431 2016-12-02 17:29 car_Detect-m\flow_differ_m\flow_differ\main.cpp
文件 3768320 2016-11-30 16:08 car_Detect-m\flow_differ_m\flow_differ\ole32.pdb\DB1D25D0215E46C2BCC8CEA00D3B4BEB1\download.error
文件 1447 2016-12-01 18:11 car_Detect-m\flow_differ_m\flow_differ\route\Car1.png
文件 1295 2016-12-01 18:11 car_Detect-m\flow_differ_m\flow_differ\route\Car10.png
文件 1059 2016-12-01 18:10 car_Detect-m\flow_differ_m\flow_differ\route\Car100.png
文件 904 2016-12-01 17:47 car_Detect-m\flow_differ_m\flow_differ\route\Car1000.png
文件 883 2016-12-01 17:47 car_Detect-m\flow_differ_m\flow_differ\route\Car1001.png
文件 881 2016-12-01 17:47 car_Detect-m\flow_differ_m\flow_differ\route\Car1002.png
文件 874 2016-12-01 17:47 car_Detect-m\flow_differ_m\flow_differ\route\Car1003.png
............此处省略3276个文件信息
评论
共有 条评论