zoukankan      html  css  js  c++  java
  • OpenCV-C++ Laplance算子

    拉普拉斯理论说明

    待补充;

    Laplacian API使用介绍

    计算图像的拉普拉斯算子,用于图像边缘检测;

    OpenCV中Laplacian的使用方式:

    void Laplacian( InputArray src, OutputArray dst, int ddepth,
                   int ksize = 1, double scale = 1, double delta = 0,
                   int borderType = BORDER_DEFAULT );
    

    该函数通过使用Sobel算子计算出的二阶x,y的导数相加来计算源图像的拉普拉斯算子:

    [dst = Delta src = dfrac{partial^2 src}{partial x^2} + dfrac{partial^2src}{partial y^2} ]

    如果ksize=1,则该函数计算拉普拉斯算子的方式是利用下面的核进行计算:

    其中:

    • src表示源图像;
    • dst表示输出;
    • ddepth表示输出位数,需要比源图像大;
    • ksize表示核大小;
    • scale表示缩放系数;
    • delta表示偏移量;
    • borderType表示对图像边界如何处理;

    拉普拉斯算子实现图像边缘检测

    类似于使用Sobel进行图像边缘检测,包含以下步骤:

    • 高斯模糊
    • 转灰度图
    • 拉普拉斯-计算二阶导数
    • 取绝对值convertScaleAbs()
    • 显示结果

    结果如下:

    完成程序如下:

    #include <iostream>
    #include <opencv2/opencv.hpp>
    
    using namespace std;
    using namespace cv;
    
    /**
     * 边缘处理
    */
    
    int main(){
        // 读取图像
        Mat src = imread("/home/chen/dataset/lena.jpg");
        if (src.empty()){
            cout << "could not load image." << endl;
            return -1;
        }
        namedWindow("src", WINDOW_AUTOSIZE);
        imshow("src", src); 
    
        // 1. 高斯模糊
        Mat srcBlur;
        GaussianBlur(src, srcBlur, Size(3, 3), 0, 0);
    
        // 2. 转灰度图
        Mat srcGray;
        cvtColor(srcBlur, srcGray, COLOR_BGR2GRAY);
        cout << srcGray.type() << endl;
    
        // 3. 拉普拉斯-计算二阶导数
        Mat srcGrad;
        Laplacian(srcGray, srcGrad, CV_16S, 3);
    
        Mat dst;
        convertScaleAbs(srcGrad, dst);
        threshold(dst, dst, 0, 244, THRESH_OTSU);
    
        namedWindow("dst", WINDOW_AUTOSIZE);
        imshow("dst", dst);   
        waitKey(0); 
        return 0;
    }
    
  • 相关阅读:
    Linux下修改Mysql的用户(root)的密码
    Mysql 用户权限管理
    mysql的四种启动方式
    MySQL慢日志的相关参数
    mysqlsla slow-query常用用法

    导包和模块注意的问题
    Python面向对象之魔法方法/双下方法
    __new__问题
    转:Python常见字符编码及其之间的转换
  • 原文地址:https://www.cnblogs.com/chenzhen0530/p/14679115.html
Copyright © 2011-2022 走看看