OpenCv学习17——Laplace算子

  1. 简介:本节学习承接上节Sobel算子的学习,本节是利用Laplace算子来进行边缘的提取。
    Laplace算子简介:拉普拉斯算子(Laplace Operator)是n维欧几里德空间中的一个二阶微分算子,定义为梯度(▽f)的散度(▽·f)。拉普拉斯算子也可以推广为定义在黎曼流形上的椭圆型算子,称为拉普拉斯-贝尔特拉米算子。
    而对于一个图像来说,其边缘是其像素变化最大的位置,也就是一阶导数最大的位置,而一阶导数最大的位置则为二阶导数为零的位置,则依据此理论我们可以计算图像的二阶导数来进行边缘的提取。
    在这里插入图片描述
    在这里插入图片描述

  2. 处理流程:

    ①高斯模糊—去除噪声GaussianBlur()
    ②转换为灰度图像cvtColor()
    ③拉普拉斯-二阶导数计算Laplacian()
    ④取绝对值convertScaleAbs()
    ⑤显示结果

  3. 用到的重要API——Laplacian
    函数原型:

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

    第三个参数为位图深度,我们一般选择深度为CV_16S
    第四个参数为ksize,我们一般选择其大小为3
    最后一般为了显示效果更好我们通常还要对其进行阈值操作

  4. 实验代码及效果展示:

    // test1.cpp: 定义控制台应用程序的入口点。
    //
    #include "stdafx.h"
    #include<iostream>
    #include<opencv2\opencv.hpp>
    
    using namespace std;
    using namespace cv;
    
    int main()
    {
    	Mat src, gray_src, dst;
    	src = imread("G:/He/opencv_images/test.jpg");
    	if (src.empty())
    	{
    		cout << "could not load the images" << endl;
    		return -1;
    	}
    	namedWindow("origin_image", CV_WINDOW_AUTOSIZE);
    	imshow("origin_image", src);
    	GaussianBlur(src, src, Size(3, 3), 0, 0);
    	cvtColor(src, gray_src, COLOR_BGR2GRAY);
    	Laplacian(gray_src, dst, CV_16S, 3);
    	convertScaleAbs(dst, dst);
    	//进行图像阈值二值化处理
    	threshold(dst, dst, 0, 100, THRESH_OTSU | THRESH_BINARY);
    	namedWindow("Laplace", CV_WINDOW_AUTOSIZE);
    	imshow("Laplace", dst);
    	waitKey(0);
    	destroyAllWindows();
    	return 0;
    }
    

    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值