Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

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

입력 이미지

Java에서 Top Hat 및 Black Hat 형태학적 연산을 설명합니다.

출력

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_BLACKHAT, kernel);
      //Displaying the image
      HighGui.imshow("Blackhat Gradient", dst);
      HighGui.waitKey();
   }
}

입력 이미지

Java에서 Top Hat 및 Black Hat 형태학적 연산을 설명합니다.

출력

Java에서 Top Hat 및 Black Hat 형태학적 연산을 설명합니다.