基於OpenCV的車輛檢測與追蹤的實現

2021-07-29 01:12:52 字數 1983 閱讀 9243

一、安裝opencv和搭建環境

這裡就貼出幾個教程:

安裝教程:

關於其他opencv版本的安裝教程網路上也有很多,這裡就只貼出這兩個。

二、關於opencv的介紹

我看還是把網路上關於這方面好的教程給大家貼出來吧,我怕講不好的話招笑話

首先是淺墨大神的系列部落格,我基本上就是從大神的部落格中學習到的,還有他的《opencv3.0程式設計入門》(強烈推薦!非常通熟易懂!網上一搜即可)

淺墨opencv入門教程

當然opencv中文論壇上的也很好,但是感覺跟淺墨大神的內容差不多

opencv中文論壇教程

三、系統結構設計

流程圖:

混合高斯建模

backgroundsubtractormog和backgroundsubtractormog2

原始碼如下:

#include #include #include #include#include#includeusing namespace cv;

using namespace std;

//對輪廓按面積降序排序,目的是去除那些小輪廓目標

bool descsort(vectorp1, vectorp2)

int main()

//}//imshow("前景訓練結果", mask);

//迴圈顯示每一幀

while (true)

frame.copyto(result);

//cvtcolor(frame, frame, color_gray2bgr);

//waitkey(30); //延時30ms

imshow("混合高斯建模", mask);

//waitkey(30);

//cvtcolor(mask, mask, color_gray2bgr);

//對前景先進行中值濾波,再進行形態學膨脹操作,以去除偽目標和連線斷開的小目標

medianblur(mask, mask, 5);

//morphologyex(mask, mask, morph_dilate, getstructuringelement(morph_rect, size(5, 5)));

//測試:先開運算再閉運算

morphologyex(mask, mask, morph_close, getstructuringelement(morph_rect, size(5, 5)));

morphologyex(mask, mask, morph_open, getstructuringelement(morph_rect, size(5, 5)));

imshow("混合高斯建模", mask);

waitkey(30);

//拷貝

mask.copyto(srcimage);

//各聯通分量的輪廓

//外層vector的size代表了影象中輪廓的個數,裡面vector的 size代表了輪廓上點的個數

vector> contours;

//只獲取最外輪廓,獲取每個輪廓的每個畫素,並相鄰兩個畫素位置差不超過1

//測試輪廓獲取

imshow("輪廓獲取", srcimage);

if (contours.size() < 1) continue;

//外接矩陣

rect rct;

//對輪廓進行外接矩陣之前先對輪廓按面積降序排序,目的為了去除小目標(偽目標)

sort(contours.begin(), contours.end(), descsort);

for (int i = 0; i < contours.size(); i++)

imshow("結果", result);

}getchar();

return 0;

}

基於OpenCV的車輛檢測與追蹤的實現

一 安裝opencv和搭建環境 這裡就貼出幾個教程 安裝教程 關於其他opencv版本的安裝教程網路上也有很多,這裡就只貼出這兩個。二 關於opencv的介紹 我看還是把網路上關於這方面好的教程給大家貼出來吧,我怕講不好的話招笑話 首先是淺墨大神的系列部落格,我基本上就是從大神的部落格中學習到的,還...

基於Python的OpenCV人臉檢測

注意 本文只是人臉檢測,人臉識別的實現請參見本人另一篇部落格 基於opencv tensorflow keras實現人臉識別 提前做的準備 1 和說明 import cv2 as cv import numpy as np defface detect demo 人臉檢測函式 gray cv.cvt...

基於OpenCV的多目標動態檢測與跟蹤

1 源 include stdafx.h include include include include include include include include include include include 跟蹤引數 const double mhi duration 0.5 最大跟蹤時間...