zoukankan      html  css  js  c++  java
  • 查找对象

     1 void getTemplate(void) {
     2     
     3     Mat src =frame;
     4     cvtColor(src,src,COLOR_BGR2GRAY);
     5     //    namedWindow("input image", CV_WINDOW_AUTOSIZE);
     6     //    imshow("input image", src);
     7 
     8     Rect roi_rect = Rect(10, 10,src.cols-20, src.rows-20);
     9     Mat ROI_Image = src(roi_rect);
    10     imshow("ROI image", ROI_Image);
    11 
    12     Mat ROI_binary;
    13     threshold(ROI_Image, ROI_binary, 0, 255, THRESH_BINARY | THRESH_OTSU);
    14 
    15     Mat kernel = getStructuringElement(MORPH_RECT, Size(7, 7), Point(-1, -1));
    16     morphologyEx(ROI_binary, ROI_binary, MORPH_OPEN, kernel);
    17     //    imshow("ROI_binary image", ROI_binary);
    18 
    19     Mat canny_output;
    20     Canny(ROI_binary, canny_output, 100, 100 * 2);
    21 
    22     vector<vector<Point>> contours;
    23     vector<Vec4i> hireachy;
    24     findContours(canny_output, contours, hireachy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0));
    25 
    26     cvtColor(ROI_Image, ROI_Image, COLOR_GRAY2BGR);
    27 
    28     //获取轮廓最大的宽和高
    29     double maxh = 0, maxw = 0;
    30     for (size_t t = 0; t < contours.size(); t++) {
    31         Rect rect = boundingRect(contours[t]);
    32         if (rect.height > maxh) maxh = rect.height;
    33         if (rect.width > maxw)  maxw = rect.width;
    34 
    35     }
    36 
    37     //筛选轮廓    
    38     int num[14];
    39     int i = 0;
    40     for (size_t t = 0; t < contours.size(); t++) {
    41         Rect rect = boundingRect(contours[t]);
    42         if (rect.height > maxh*0.7 || rect.width > maxw*0.7)
    43         {
    44             rectangle(ROI_Image, rect, Scalar(0, 0, 255), 2);
    45             num[i++] = t;
    46         }
    47     }
    48 
    49     for (int i = 0; i < 14; i++)
    50         cout << "num:" << num[i] << endl;
    51     //Rect rect = boundingRect(contours[num[3]]);
    52     // = ROI_Image(rect);
    53     //imshow("digital", digital);
    54     imshow("drawControus", ROI_Image);
    55 }
  • 相关阅读:
    iOS
    “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift
    iOS
    iOS
    springboot rabbitmq 死信队列应用场景和完整demo
    LRU
    分布式系统高可用原则
    Java8 Stream 流使用场景和常用操作
    下载安装Zookeeper
    Java8内置的函数式编程接口应用场景和方式
  • 原文地址:https://www.cnblogs.com/long5683/p/9742588.html
Copyright © 2011-2022 走看看