OpenCV使用拉普拉斯函数进行梯度图像计算

一、概述

  案例:使用拉普拉斯函数及进行梯度图像计算 

函数介绍:
Laplacian( InputArray src,//输入图像 OutputArray dst,//输出图像,最后的输出图像需要一个空的新的Mat,不然算子不起作用
int depth, //深度CV_16S int kisze, // 3卷积核大小 double scale = 1, double delta =0.0, int borderType = 4 )
ps:后面三个参数直接默认即可

  实现步骤:

  1.使用高斯模糊去除图像噪声

  2.使用cvtColor将图像转为灰度图像

  3.使用拉普拉斯算子计算图像梯度

  4.使用convertScaleAbs去图像像素绝对值

  5.输出图像

 

二、代码是里

Mat src = imread(filePath);
    if(src.empty()){
        return;
    }
    imshow("src",src);
    Mat dst,result;
    //执行高斯模糊去除噪声
    GaussianBlur(src,dst,Size(3,3),0);
    imshow("GaussianBlur",dst);
    //将彩色图像转灰度图像
    cvtColor(dst,dst,COLOR_BGR2GRAY);
    imshow("gray",dst);
    //执行拉普拉斯算子
    Laplacian(dst,result,CV_16S,3);
    //像素取绝对值
    convertScaleAbs(result,result);
    //显示图像
    imshow("Laplacian",result);

 

posted on 2022-02-17 11:10  飘杨......  阅读(411)  评论(0)    收藏  举报