0
点赞
收藏
分享

微信扫一扫

Java Opencv 实现锐化

§ 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

Java Opencv 实现锐化_git

计算图像的拉普拉斯算子。

该函数通过将使用Sobel运算符计算的第二个x和y导数相加来计算源图像的拉普拉斯算子:


上式在ksize>1时。

如果ksize==1,拉普拉斯算子是



package com.gitee.dgw.lesson8;

import com.gitee.dgw.lesson1.platformUtils;
import org.bytedeco.javacpp.opencv_core;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.core.Point;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

import static org.opencv.core.Core.BORDER_DEFAULT;
import static org.opencv.core.CvType.CV_16S;
import static org.opencv.core.CvType.CV_8UC3;
import static org.opencv.imgproc.Imgproc.COLOR_BGR2GRAY;

/**
* @program: learn-opencv
* @description:
* @author: Mr.Dai
* @create: 2020-03-10 20:36
**/
public class Laplacian {

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 void main(String[] args) {
Mat src = new Mat();
Mat src_gray=new Mat();
Mat dst=new Mat();
//读取一张图片
//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=new Mat();
//![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);

}
}


Java Opencv 实现锐化_拉普拉斯算子_02



举报

相关推荐

0 条评论