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