如何使用 Java OpenCV 库改变图像的清晰度?

javaobject oriented programmingprogramming

锐化图像与模糊相反。要使用 OpenCV 库改变图像的清晰度,您需要使用高斯滤波器对其进行平滑/模糊处理,并从原始图像中减去平滑版本。

示例

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class AlteringSharpness {
   public static void main (String[] args) {
      //加载OpenCV核心库
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //从文件读取图像
      String file ="D:\Image\lamma1.jpg";
      Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_COLOR);
      //创建一个空矩阵
      Mat dest = new Mat(src.rows(), src.cols(), src.type());
      Imgproc.GaussianBlur(src, dest, new Size(0,0), 10);
      Core.addWeighted(src, 1.5, dest, -0.5, 0, dest);
      // 写入图像
      Imgcodecs.imwrite("D:\Image\altering_sharpness_100.jpg", dest);
   }
}

输入

输出


相关文章