解釋 Java 中的 Top Hat 和 Black Hat 形態學運算。


形態學運算是一組根據給定形狀處理影像的操作。

  • 腐蝕 - 腐蝕是一種形態學運算,在此期間會從影像邊界移除畫素。

  • 膨脹 - 膨脹是一種形態學運算,在此期間會向影像邊界新增畫素。

  • 新增/移除的畫素總數取決於所用結構元素的尺寸。

  • 形態學開運算 - 在此操作期間,對給定的輸入應用腐蝕,然後對結果應用膨脹。這用於去除影像前景中的小物體。

  • 形態學閉運算 - 在此操作期間,對給定的輸入應用膨脹,然後對結果應用腐蝕。這用於去除影像上的小物體。

形態學頂帽 是給定影像與其開運算之間的差異。

示例

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class TopHatExample {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading image data
      String file ="D:\Images\morph_input1.jpg";
      Mat src = Imgcodecs.imread(file);
      //Creating destination matrix
      Mat dst = new Mat(src.rows(), src.cols(), src.type());
      //Preparing the kernel matrix object
      Mat kernel = Mat.ones(5,5, CvType.CV_32F);
      //Applying dilate on the Image
      Imgproc.morphologyEx(src, dst, Imgproc.MORPH_TOPHAT, kernel);
      //Displaying the image
      HighGui.imshow("Blackhat Gradient", dst);
      HighGui.waitKey();
   }
}

輸入影像

輸出

形態學黑帽 是閉運算與給定影像之間的差異。

示例

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class TopHatExample {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      //Reading image data
      String file ="D:\Images\morph_input1.jpg";
      Mat src = Imgcodecs.imread(file);
      //Creating destination matrix
      Mat dst = new Mat(src.rows(), src.cols(), src.type());
      //Preparing the kernel matrix object
      Mat kernel = Mat.ones(5,5, CvType.CV_32F);
      //Applying dilate on the Image
      Imgproc.morphologyEx(src, dst, Imgproc.MORPH_BLACKHAT, kernel);
      //Displaying the image
      HighGui.imshow("Blackhat Gradient", dst);
      HighGui.waitKey();
   }
}

輸入影像

輸出

更新於: 2020年4月13日

693 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告