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); } }