모폴로지 연산은 주어진 모양에 따라 이미지를 처리하는 연산의 집합입니다.
-
침식 − 침식은 이미지 경계에서 픽셀이 제거되는 형태학적 작업입니다.
-
팽창 - 동안은 픽셀이 이미지 경계에 추가되는 모폴로지 연산입니다.
-
추가/제거된 총 픽셀 수는 사용된 구조 요소의 크기에 따라 다릅니다.
-
형태학적 오프닝 - 이 작업 동안 주어진 입력에 침식이 적용되고 결과에 팽창이 적용됩니다. 이것은 이미지의 전경에서 작은 개체를 제거하는 데 사용됩니다.
-
형태학적 종결 - 이 작업 동안 주어진 입력에 팽창이 적용되고 결과에 침식이 적용됩니다. 이미지의 작은 개체를 제거하는 데 사용됩니다.
모폴로지 모자 주어진 이미지와 오프닝의 차이입니다.
예
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();
}
} 입력 이미지

출력
