Beispiel #1
0
vector<PlateRegion> RegionDetector::detect(Mat frame)
{

  Mat frame_gray;
  cvtColor( frame, frame_gray, CV_BGR2GRAY );

  vector<PlateRegion> regionsOfInterest = doCascade(frame_gray);

  return regionsOfInterest;
}
Beispiel #2
0
  vector<PlateRegion> DetectorCPU::detect(Mat frame, std::vector<cv::Rect> regionsOfInterest)
  {

    Mat frame_gray;
    cvtColor( frame, frame_gray, CV_BGR2GRAY );

    vector<PlateRegion> detectedRegions = doCascade(frame_gray, regionsOfInterest);

    return detectedRegions;
  }
Beispiel #3
0
  vector<PlateRegion> DetectorCUDA::detect(Mat frame, std::vector<cv::Rect> regionsOfInterest)
  {

    Mat frame_gray;
    cvtColor( frame, frame_gray, CV_BGR2GRAY );

    vector<PlateRegion> detectedRegions;
    for (int i = 0; i < regionsOfInterest.size(); i++)
    {
      Mat cropped = frame_gray(regionsOfInterest[i]);
      vector<PlateRegion> subRegions = doCascade(cropped, regionsOfInterest[i].x, regionsOfInterest[i].y);

      for (int j = 0; j < subRegions.size(); j++)
        detectedRegions.push_back(subRegions[j]);
    }
    return detectedRegions;
  }