美文网首页
Laplacian(边缘提取)

Laplacian(边缘提取)

作者: itfitness | 来源:发表于2019-08-08 16:27 被阅读0次

概念

在二阶微分的时候,最大变化处的值为零即边缘是零值,通过二阶导数计算,依据理论我们可以计算出图像二阶导数,提取边缘。


效果图对比

●源图像



●处理后图像


函数讲解

●函数原型
○c++

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

○Android

void Laplacian(Mat src, Mat dst, int ddepth, int ksize, double scale, double delta, int borderType)

●参数解释
○src:源图像Mat对象
○dst:目标图像Mat对象
○ddepth:图像的深度,可以为-1、CV_16S、CV_32F、CV_64F
○ksize:卷积核的大小只能为奇数。
○scale:Double类型的,计算可选比例因子,默认值1 。
○delta:加到输出像素的值,默认为0 。
○borderType:边界类型,默认值BORDER_DEFAULT。

函数使用

●c++中

#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
    Mat src = imread("C:/Users/Administrator/Desktop/ic_test.jpg");//引入源图像
    if (src.empty()) {
        return -1;
    }
    imshow("src", src);//展示源图像
    GaussianBlur(src,src,Size(3,3),0,0);//高斯模糊去除噪声
    cvtColor(src, src, CV_BGR2GRAY);//将图像转换为灰度图像
    imshow("gray", src);//展示灰度图像
    Mat dst;
    Laplacian(src,dst,-1,3);//laplace边缘提取
    imshow("dst", dst);//展示最终结果
    waitKey(0);
    return 0;
}

●Android中

 Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_relief);
Mat src = new Mat();
Mat dst = new Mat();
Utils.bitmapToMat(bitmap,src);//将Bitmap对象转换为Mat对象
Imgproc.GaussianBlur(src,src,new Size(3,3),0,0);//高斯模糊去噪
Imgproc.cvtColor(src,src,Imgproc.COLOR_RGBA2GRAY);//将图像转换为灰度图像
Imgproc.Laplacian(src,dst,-1,3);//Laplace边缘提取
Utils.matToBitmap(dst,bitmap);//将Mat对象转换为Bitmap对象

相关文章

  • Laplacian(边缘提取)

    概念 在二阶微分的时候,最大变化处的值为零即边缘是零值,通过二阶导数计算,依据理论我们可以计算出图像二阶导数,提取...

  • 边缘检测算法及各自优缺点

    边缘提取其实也是一种滤波,不同的算子有不同的提取效果。比较常用的方法有三种,Sobel算子,Laplacian算子...

  • opencv+python学习记录(二十)边缘检测

    边缘检测包含:Prewitt边缘检测、Sobel边缘检测、Scharr算子、Canny边缘检测、Laplacian...

  • Laplacian(iOS)算子(边缘检测)

    基本概念 Laplacian算子是n维欧几里德空间的一个二阶微分算子,定义为梯度grad的散度div,因此如果f是...

  • LoG

    Laplacian of Gaussian:利用Gaussian滤波以减少噪声的影响,再利用Laplacian算子...

  • Canny(边缘提取)

    概念 Canny函数内部使用canny算法对输入图像进行边缘检测。 效果图对比 ●源图像 ●处理后图像 函数讲解 ...

  • Scharr(边缘提取)

    概念 这个是OpenCV对于Sobel算子的强化,能够提取出一些微小的细节。 效果图对比 ●源图像 ●处理后图像 ...

  • Sobel(边缘提取)

    概念 Sobel算子 效果图对比 ●源图像 ●处理后图像 函数讲解 ●函数原型○c++ ○Android ●参数解...

  • 20、轮廓发现

    轮廓填充 基于Canny边缘提取

  • 2019-07-13(day033_Laplacian():实现

    c++ c++中新知识点:Laplacian():实现Laplacian梯度挖掘,此处用该方法挖掘Gaussian...

网友评论

      本文标题:Laplacian(边缘提取)

      本文链接:https://www.haomeiwen.com/subject/wygxjctx.html