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
计算图像的拉普拉斯算子。
该函数通过将使用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】java扩展机制SPI 实现
- Java实现 LeetCode 825 适龄的朋友(暴力)
- Java实现 LeetCode 640 求解方程(计算器的加减法计算)
- java实现棋盘上的麦子
- Java中抽象类与接口的详细说明
- Java中的多线程你只要看这一篇就够了
- [Linux] Install java and add JAVA_HOME, PATH
- macos:安装java 17.0.6(android studio报错:Unable to locate a Java Runtime.)
- 【JAVA】基于MVC架构Java技术荟萃案例演练
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
- Java线程池:ThreadPoolExecutor运行原理
- Atitit java播放器调音速率快慢的实现 目录 1.1. 原理 本质上是改变采样率即可1 2. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/dec
- atitit.基于虚拟机的启动器设计 --java 启动器 java生成exe
- 成功解决cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion fa
- 1小时学会通过Java Swing Design设计java图形化
- Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
- Java 8 中的 java.util.Map#computeIfAbsent
- 详解jvm之java类加载机制和类加载器(ClassLoader) 深入理解Java类加载器(ClassLoader) 如何自定义类加载器 深入说明双亲委派 双亲委派模型的破坏者-线程上下文类加载器
- Java Logger(java日志)
- 【JAVA】【NIO】5、Java NIO Scatter / Gather
- JAVA修饰符类型(public,protected,private,friendly)
- Java开发技术之成为高级java工程师必须学习的三个技术
- JAVA语言之Java 中不同的并行实现的性能比较