最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用OpenCV實現檢測和追蹤車輛

 更新時間:2018年01月09日 10:50:19   作者:炒雞嗨客協(xié)管徐  
這篇文章主要為大家詳細介紹了使用OpenCV實現檢測和追蹤車輛,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了OpenCV實現檢測和追蹤車輛的具體代碼,供大家參考,具體內容如下

完整源碼GitHub

  • 使用高斯混合模型(BackgroundSubtractorMOG2)對背景建模,提取出前景
  • 使用中值濾波去掉椒鹽噪聲,再閉運算和開運算填充空洞
  • 使用cvBlob庫追蹤車輛,我稍微修改了cvBlob源碼來通過編譯

由于要對背景建模,這個方法要求背景是靜止的
另外不同車輛白色區(qū)域不能連通,否則會認為是同一物體

void processVideo(char* videoFilename) 
{ 
  Mat frame; // current frame 
  Mat fgMaskMOG2; // fg mask fg mask generated by MOG2 method 
  Mat bgImg; // background 
  Ptr<BackgroundSubtractorMOG2> pMOG2 = createBackgroundSubtractorMOG2(200, 36.0, false); // MOG2 Background subtractor 
 
  while (true) 
  { 
    VideoCapture capture(videoFilename); 
    if (!capture.isOpened()) 
    { 
      cerr << "Unable to open video file: " << videoFilename << endl; 
      return; 
    } 
 
    int width = (int)capture.get(CV_CAP_PROP_FRAME_WIDTH); 
    int height = (int)capture.get(CV_CAP_PROP_FRAME_HEIGHT); 
 
    unique_ptr<IplImage, void(*)(IplImage*)> labelImg(cvCreateImage(cvSize(width, height), IPL_DEPTH_LABEL, 1),  
      [](IplImage* p){ cvReleaseImage(&p); }); 
    CvBlobs blobs; 
    CvTracks tracks; 
 
    while (true) 
    { 
      // read input data. ESC or 'q' for quitting 
      int key = waitKey(1); 
      if (key == 'q' || key == 27) 
        return; 
      if (!capture.read(frame)) 
        break; 
 
      // update background 
      pMOG2->apply(frame, fgMaskMOG2); 
      pMOG2->getBackgroundImage(bgImg); 
      imshow("BG", bgImg); 
      imshow("Original mask", fgMaskMOG2); 
 
      // post process 
      medianBlur(fgMaskMOG2, fgMaskMOG2, 5); 
      imshow("medianBlur", fgMaskMOG2); 
      morphologyEx(fgMaskMOG2, fgMaskMOG2, MORPH_CLOSE, getStructuringElement(MORPH_RECT, Size(5, 5))); // fill black holes 
      morphologyEx(fgMaskMOG2, fgMaskMOG2, MORPH_OPEN, getStructuringElement(MORPH_RECT, Size(5, 5))); // fill white holes 
      imshow("morphologyEx", fgMaskMOG2); 
 
      // track 
      cvLabel(&IplImage(fgMaskMOG2), labelImg.get(), blobs); 
      cvFilterByArea(blobs, 64, 10000); 
      cvUpdateTracks(blobs, tracks, 10, 90, 30); 
      cvRenderTracks(tracks, &IplImage(frame), &IplImage(frame)); 
 
      // show 
      imshow("Frame", frame); 
 
      key = waitKey(30); 
    } 
  } 
} 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用remalloc的注意事項說明(必看篇)

    使用remalloc的注意事項說明(必看篇)

    下面小編就為大家?guī)硪黄褂胷emalloc的注意事項說明(必看篇)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 深入分析Linux下如何對C語言進行編程

    深入分析Linux下如何對C語言進行編程

    本篇文章介紹了,如何在Linux下對C語言進行編程的詳細概述。需要的朋友參考下
    2013-05-05
  • Objective-C不帶加減號的方法實例

    Objective-C不帶加減號的方法實例

    顯而易見的事實是,Objective-C 中,+ 表示類方法,- 表示實例方法,這篇文章主要給大家介紹了關于Objective-C不帶加減號的相關資料,需要的朋友可以參考下
    2021-06-06
  • C++ 11 nullptr 空指針示例詳解

    C++ 11 nullptr 空指針示例詳解

    C++11標準引入了nullptr來替代傳統(tǒng)的NULL,解決了NULL可能導致的類型混淆問題,nullptr是nullptr_t類型的實例,專用于初始化空類型指針,與整型不會發(fā)生隱式轉換,從而使代碼更健壯,它可以被隱式轉換為任意類型的指針,提高了代碼的安全性和可讀性
    2024-10-10
  • C++使用join拼接字符串的技巧

    C++使用join拼接字符串的技巧

    在C++中,經常需要將多個字符串拼接成一個大字符串,這個過程很容易出錯,但有一些技巧可以幫助我們輕松地實現這個目標,五個C++中join字符串的技巧:使用stringstream、使用字符串迭代器、使用字符串的加法運算符、使用std::accumulate函數和使用boost庫的join方法
    2023-11-11
  • C++超詳細講解函數對象

    C++超詳細講解函數對象

    在c++中,我們把所有能當作函數使用的對象統(tǒng)稱為函數對象。它是實現operator()的任何類型,此運算符被稱為調用運算符,當調用此操 作符時,其表現形式如同普通函數調用一般,因此取名叫函數對象
    2022-06-06
  • C語言實踐設計開發(fā)飛機游戲

    C語言實踐設計開發(fā)飛機游戲

    飛機大戰(zhàn)想必是很多人童年時期的經典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關于如何利用C語言寫一個簡單的飛機大戰(zhàn)小游戲的相關資料,需要的朋友可以參考下
    2022-02-02
  • C語言代碼實現簡單三子棋游戲

    C語言代碼實現簡單三子棋游戲

    這篇文章主要為大家詳細介紹了C語言代碼實現簡單三子棋游戲,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C/C++時間庫chrono的使用總結

    C/C++時間庫chrono的使用總結

    std::chrono是C++標準庫中的一個組件,用于表示和處理時間,其功能就像是心理學中的感知系統(tǒng),它可以為我們捕捉、量化并操作抽象的時間概念,這就如同我們的大腦可以理解和感知周圍環(huán)境的時間流逝一樣,這種感知和理解能力是人類進行日常活動所必需的,
    2023-12-12
  • 高效實現整型數字轉字符串int2str的方法

    高效實現整型數字轉字符串int2str的方法

    下面小編就為大家?guī)硪黄咝崿F整型數字轉字符串int2str的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論

土默特右旗| 延吉市| 安塞县| 耿马| 神池县| 凌源市| 区。| 日照市| 泰和县| 松潘县| 文登市| 自贡市| 南召县| 福海县| 兴国县| 桂东县| 贵港市| 鹤庆县| 通渭县| 泰宁县| 安陆市| 汉中市| 黄陵县| 丹凤县| 峨边| 肥乡县| 莱州市| 竹溪县| 攀枝花市| 大新县| 连云港市| 突泉县| 前郭尔| 当雄县| 东山县| 巴林右旗| 克拉玛依市| 安平县| 北碚区| 昆山市| 伊宁县|