Guest User

Untitled

a guest
Oct 23rd, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. cv::Mat smallerImage;
  2. resize(imageMatrix, smallerImage, smallerImageSize);
  3.  
  4. cv::Mat cvGreyScaledImage = smallerImage.clone();
  5. cv::cvtColor(smallerImage, cvGreyScaledImage, CV_BGR2GRAY);
  6.  
  7. cv::Mat blurredGreyScaleImage = cvGreyScaledImage.clone();
  8. cv::GaussianBlur(cvGreyScaledImage, blurredGreyScaleImage, Size(11,11), 0);
  9.  
  10. // filter out pixels with values between 240 & 255
  11. cv::Mat thresholdOriginal = blurredGreyScaleImage.clone();
  12. cv::threshold(blurredGreyScaleImage, thresholdOriginal, 240, 255, THRESH_BINARY);
  13.  
  14. // Remove noise from area of interest
  15. // Erode (make smaller) area of interest - reduce noise
  16. cv::Mat errodedImage = thresholdOriginal.clone();
  17. int errosionIterations = 1;
  18. cv::erode(thresholdOriginal, errodedImage, NULL, cv::Point(-1,-1), errosionIterations);
  19.  
  20. // Dilate (make bigger) area of interest - noise removed
  21. cv::Mat dilatedImage = errodedImage.clone();
  22. int dilationIterations = 16;
  23. cv::dilate(errodedImage, dilatedImage, NULL, cv::Point(-1,-1), dilationIterations);
  24.  
  25. // Connected Component Analysis
  26. cv::Mat labeledImage = dilatedImage.clone();
  27. cv::connectedComponents(dilatedImage, labeledImage);
  28.  
  29. // Glare score
  30. int nonZeroPixelsCount = countNonZero(labeledImage);
  31. float glareScore = float(nonZeroPixelsCount)/float(cellWidth * cellHeight);
Add Comment
Please, Sign In to add comment