当前位置:   article > 正文

C++ OpenCV 将黑点框出来_opencv 黑方块检测 c++

opencv 黑方块检测 c++

1.效果图如下:

2.代码如下:

做了测试,发现将图片二值化是最最重要的,一定要,不然抠出来的黑点不精确

  1. // // 二值化图,主要将灰色部分转成白色,使内容为黑色
  2. threshold(image, image, 165, 255, THRESH_BINARY);
  1. #include "BoundingRect.h"
  2. //#include "stdafx.h"
  3. #include <iostream>
  4. #include <stdio.h>
  5. #include <opencv2/opencv.hpp>
  6. #include "opencv2/highgui/highgui.hpp"
  7. #include "opencv2/imgproc/imgproc.hpp"
  8. #include <opencv2\imgproc\types_c.h>
  9. using namespace cv;
  10. using namespace std;
  11. BoundingRect::BoundingRect()
  12. {
  13. // Declares a vector of vectors for store the contours
  14. Mat originalimage;
  15. Mat image;
  16. // Loads the original image
  17. originalimage = imread("black.jpg");
  18. imshow("originalimage",originalimage);
  19. // Converts original image to an 8UC1 image
  20. cvtColor(originalimage, image, CV_BGR2GRAY);
  21. // imshow("cvtColor", image);
  22. // // 高斯模糊,主要用于降噪
  23. // GaussianBlur(image, image, Size(3, 3), 0);
  24. // imshow("GaussianBlur图", image);
  25. // // 二值化图,主要将灰色部分转成白色,使内容为黑色
  26. threshold(image, image, 165, 255, THRESH_BINARY);
  27. // imshow("threshold图", image);
  28. // // 中值滤波,同样用于降噪
  29. // medianBlur(image, image, 3);
  30. // imshow("medianBlur图", image);
  31. // // 腐蚀操作,主要将内容部分向高亮部分腐蚀,使得内容连接,方便最终区域选取
  32. // erode(image, image, Mat(9, 9, CV_8U));
  33. // Finds contours
  34. vector<vector<Point> > v;
  35. vector<Vec4i> hierarchy;
  36. Mat result;
  37. Rect rect;
  38. findContours(image, v, hierarchy, RETR_CCOMP, CV_CHAIN_APPROX_NONE);
  39. for (int i = 0; i < hierarchy.size(); i++)
  40. {
  41. rect = boundingRect(v.at(i));
  42. // 画最小的圆,贴着黑色
  43. drawContours(originalimage, v, i, Scalar(0, 0, 255), 1, 8, hierarchy);
  44. // 画矩形包围圆
  45. rectangle(originalimage, rect, Scalar(255, 0, 0));
  46. }
  47. namedWindow("Ejemplo");
  48. imshow("Ejemplo", originalimage);
  49. waitKey(60000);
  50. }
  51. BoundingRect::~BoundingRect()
  52. {
  53. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/369942
推荐阅读
相关标签
  

闽ICP备14008679号