zoukankan      html  css  js  c++  java
  • Shi-Tomasi角点检测

     

     

     shi-Tomasi角点检测相对Harris检测的计算量会更小,速度快。

    #include <opencv2/opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    int num_corners = 25;
    int max_corners = 200;
    const char* output_title = "ShiTomasi Detector";
    void ShiTomasi_Demo(int, void*);
    Mat src, gray_src;
    RNG rng(12345);
    int main(int argc, char** argv) {
        src = imread("L:6.jpg");
        if (src.empty()) {
            printf("could not load image...
    ");
            return -1;
        }
        namedWindow("input image", CV_WINDOW_AUTOSIZE);
        imshow("input image", src);
    
        cvtColor(src, gray_src, COLOR_BGR2GRAY);
        namedWindow(output_title, CV_WINDOW_AUTOSIZE);
        createTrackbar("Num Corners:", output_title, &num_corners, max_corners, ShiTomasi_Demo);
        ShiTomasi_Demo(0, 0);
    
        waitKey(0);
        return 0;
    }
    
    void ShiTomasi_Demo(int, void*) {
        if (num_corners < 5) {
            num_corners = 5;
        }
        vector<Point2f> corners;
        double qualityLevel = 0.01;
        double minDistance = 10;
        int blockSize = 3;
        bool useHarris = false;
        double k = 0.04;
        Mat resultImg = gray_src.clone();
        cvtColor(resultImg, resultImg, COLOR_GRAY2BGR);
        goodFeaturesToTrack(gray_src, corners, num_corners, qualityLevel, minDistance, Mat(), blockSize, useHarris, k);
        //ShiTomasi函数的API:
        printf("Number of Detected Corners:  %d
    ", corners.size());
        //打印corners的个数
    
        for (size_t t = 0; t < corners.size(); t++) {
            circle(resultImg, corners[t], 2, Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255)), 2, 8, 0);
            //画圆
        }
        imshow(output_title, resultImg);
    }

    结果:

     

    拖动滑动条时显示的检测到的角点数;

     

  • 相关阅读:
    IE6/IE7下:inline-block不兼容的问题
    ie6、ie7下overflow失效
    display:inline、block、inline-block三者之间的区别
    分割线用CSS样式做出来的效果
    jQuery实现鼠标点击div外的地方div隐藏消失的效果
    IE6下面的浮动问题
    [zabbix]zabbix分区表操作步骤
    [转载]系统管理:update-alternatives
    zabbix调优PPT
    mysql修改密码
  • 原文地址:https://www.cnblogs.com/Jack-Elvis/p/11644532.html
Copyright © 2011-2022 走看看