• 图像处理---《Canny 边缘检测》


    图像处理---《Canny 边缘检测》

      很想系统的把图像处理之边缘检测部分详细的过一遍,对比一个各个算子的优良性能。时间紧,精力有限,现在只能走哪补哪,随手记。

      有几个简单的场景,有需要,想通过图像的边缘特征区分开。解决问题的方法有很多,知识储备有限,最先想到Canny、Sobel算子,

    其实对这两个也不熟,现琢磨现用,希望对解决问题有帮助。这里记一下,Canny 边缘检测的效果。

    /*
    作者:WP @20190620
    功能:检测车道线---Canny算法
    说明:先利用轨迹条选一个较好的lowThreshold值,Canny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size );
    参考:《Canny 边缘检测》http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html 
    */
    
    //-----------------------------------【头文件包含部分】-----------------------------------------------------------------------
    //            描述:包含程序所依赖的头文件
    //----------------------------------------------------------------------------------------------------------------------------
    #include <opencv2/opencv.hpp>
    #include<opencv2/highgui/highgui.hpp>
    #include<opencv2/imgproc/imgproc.hpp>
    
    using namespace std;
    using namespace cv;
     
    //Canny边缘检测算法
    int main()
    {
        Mat img = imread("D:\003_test_img\test002_VS\013_7.png");
        imshow("原始图", img);
        Mat DstPic, edge, grayImage;
    
        //创建与src同类型和同大小的矩阵
        DstPic.create(img.size(), img.type());
    
        //将原始图转化为灰度图
        cvtColor(img, grayImage, COLOR_BGR2GRAY);
    
        //先使用3*3内核来降噪
        blur(grayImage, edge, Size(3, 3));
    
        //运行canny算子
        //Canny(edge, edge, 3, 3*3, 3);
        Canny(edge, edge, 160, 160*3, 3);
    
        imshow("边缘提取效果", edge);
    
        waitKey(0);
    
    }

  • 相关阅读:
    JavaScript获取http,http://请求协议头,域名,端口,url
    JAVA Pattern正则获取大括号中内容,substring字符串截取获取大括号中内容
    系统时间相关
    简单搭建nfs
    电信电话相关
    windows常用设置
    sort用法
    vim查询替换相关
    vim常用命令 技巧
    编绎vim8.2+deepin v15.11
  • 原文地址:https://www.cnblogs.com/carle-09/p/11057444.html
Copyright © 2020-2023  润新知