§ Laplacian()
void cv::Laplacian ( InputArray src,
OutputArray dst,
int ddepth,
int ksize = 1,
double scale = 1,
double delta = 0,
int borderType = BORDER_DEFAULT
)
参数:
src 源图片
dst 与src相同大小和相同通道数的目标图像。
ddepth 目标图像的所需深度。
ksize 用于计算二阶导数滤波器的孔径大小。有关详细信息,请参阅getDerivKernels。大小必须是正面和奇数。
scale 计算的拉普拉斯算子值的可选比例因子。默认情况下,不应用缩放。有关详细信息,请参阅getDerivKernels。
delta 在将结果存储在dst之前添加到结果中的可选增量值。
borderType 像素外推方法,请参阅cv :: BorderTypes
计算图像的拉普拉斯算子。
该函数通过将使用Sobel运算符计算的第二个x和y导数相加来计算源图像的拉普拉斯算子:
上式在ksize>1时。
如果ksize==1,拉普拉斯算子是
packagecom.gitee.dgw.lesson8;importcom.gitee.dgw.lesson1.platformUtils;importorg.bytedeco.javacpp.opencv_core;importorg.opencv.core.Core;importorg.opencv.core.Mat;importorg.opencv.core.Size;importorg.opencv.core.Point;importorg.opencv.highgui.HighGui;importorg.opencv.imgcodecs.Imgcodecs;importorg.opencv.imgproc.Imgproc;import staticorg.opencv.core.Core.BORDER_DEFAULT;import staticorg.opencv.core.CvType.CV_16S;import staticorg.opencv.core.CvType.CV_8UC3;import staticorg.opencv.imgproc.Imgproc.COLOR_BGR2GRAY;/*** @program: learn-opencv
* @description:
*@author: Mr.Dai
* @create: 2020-03-10 20:36
**/
public classLaplacian {private final static String path=System.getProperty("user.dir")+"\\catton.jpg";/// 全局变量
private final static int scale = 1;private final static int delta = 0;private final static int ddepth =CV_16S;//锐化度数
private final static int kernel_size = 3;static{
platformUtils.loadLibraries();
}public static voidmain(String[] args) {
Mat src= newMat();
Mat src_gray=newMat();
Mat dst=newMat();//读取一张图片//image=Imgcodecs.imread(path);//读取一张灰度图片
src=Imgcodecs.imread(path,Imgcodecs.IMREAD_COLOR);if(src.empty()) {
System.err.println("加载图片出错,请检查图片路径!");return;
}
Imgproc.GaussianBlur(src, src,new Size(3, 3), 0, 0, BORDER_DEFAULT);
Imgproc.cvtColor(src, src_gray, COLOR_BGR2GRAY);
Mat abs_dst=newMat();//![laplacian]
Imgproc.Laplacian(src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT);//![laplacian]//![convert]
Core.convertScaleAbs(dst, abs_dst);
HighGui.imshow("dstimg showimg",src);
HighGui.imshow("srcimage showimg",abs_dst);//无限等待按键按下
HighGui.waitKey(0);
}
}