溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

直方圖增強 車輛檢測

發布時間:2020-07-17 21:15:13 來源:網絡 閱讀:664 作者:fengyuzaitu 欄目:編程語言

場景

    嘗試使用直方圖對圖像進行增強,然后使用二值化函數,分割出車輛的輪廓,顯然這個在應對道路和車輛顏色相近的情況下,即使不是相近,依舊沒有達到任何的效果

代碼


#include "opencv2/highgui/highgui.hpp"

#include "opencv2/imgproc/imgproc.hpp"

#include <iostream>

using namespace cv;

using namespace std;


Mat srcImg;


void on_trackbar(int pos)

{

  Mat contourImg ;

  srcImg.copyTo(contourImg);

  Mat graysrcImg = Mat::zeros(srcImg.rows, srcImg.cols, CV_8UC3);

  threshold(srcImg, graysrcImg, pos, 255, 3);

  vector<vector<Point> > contours;

  vector<Vec4i> hierarchy;

  Mat dst = Mat::zeros(srcImg.rows, srcImg.cols, CV_8UC3);

  findContours(graysrcImg, contours,hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);

  if( !contours.empty() && !hierarchy.empty() )

  {

    int idx = 0;

    for( ; idx >= 0; idx = hierarchy[idx][0] )

    {

      if (contourArea(contours[idx]) < 500000)  continue;


      Scalar color( (rand()&255), (rand()&255), (rand()&255) );

      drawContours( contourImg, contours, idx, Scalar(255, 0, 0), CV_FILLED, 8, hierarchy );

    }

  }

  imshow( "FindContour", contourImg );

}


int main()

{

  const char* srcImgFile = "D:/20170601092226.png";

  srcImg = imread(srcImgFile);

  if (srcImg.empty()) return -1;


  Mat p_w_picpathRGB[3];  

  split(srcImg, p_w_picpathRGB);  

  for (int i = 0; i < 3; i++)  

  {  

    equalizeHist(p_w_picpathRGB[i], p_w_picpathRGB[i]);  

  }  

  merge(p_w_picpathRGB, 3, srcImg);  

  imshow("直方圖均衡化圖像增強效果", srcImg);  

  cvtColor( srcImg, srcImg, CV_RGB2GRAY );

  namedWindow("srcImg", 1);

  imshow("srcImg", srcImg);


  int nThreshold = 0;

  namedWindow("FindContour", 1);

  cvCreateTrackbar("bar", "FindContour", &nThreshold, 254, on_trackbar);


  on_trackbar(1);

 

  waitKey(0);

  return 0;

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女