org.opencv.features2d.Feature2D (abstract) 클래스의 Detect() 메서드는 주어진 이미지의 핵심 포인트를 감지합니다. 이 방법의 경우 소스 이미지를 나타내는 Mat 개체와 읽기 키포인트를 보관하기 위한 빈 MatOfKeyPoint 개체를 전달해야 합니다.
org.opencv.features2d.Feature2D 클래스의 Strong>drawMatches() 메서드는 주어진 두 이미지의 키포인트 간 일치하는 항목을 찾아 그립니다. 이 메소드는
Matsrc1 매개변수를 허용합니다.
keypoints1 - 첫 번째 소스 이미지의 핵심 포인트를 나타내는 MatOfKeyPoint 클래스의 개체입니다.
src2 - 두 번째 소스 이미지를 나타내는 Mat 클래스의 개체입니다.
keypoints2 - 두 번째 소스 이미지의 키포인트를 나타내는 MatOfKeyPoint 클래스의 개체입니다.
matches1to2 strong> - 첫 번째 이미지에서 두 번째 이미지까지의 일치입니다. 즉, keypoints1[i]에는 keypoints2[matches[i]]에 해당 지점이 있습니다.
dst - 대상 이미지를 나타내는 Mat 클래스의 객체입니다.
그래서 두 이미지의 핵심을 일치시키세요 -
imread() 메소드를 사용하여 두 소스 이미지를 읽어보세요.
이미지의 핵심 포인트를 가져오고 Detect() 메서드를 사용하여 두 개의 이미지를 그립니다.
일치하는 항목을 찾아 그리려면 drawMatches() 메서드를 사용하세요.
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfDMatch; import org.opencv.core.MatOfKeyPoint; import org.opencv.features2d.FastFeatureDetector; import org.opencv.features2d.Features2d; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; public class MatchingKeypoints { public static void main(String args[]) throws Exception { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the source images String file1 ="D:\Images\feature1.jpg"; Mat src1 = Imgcodecs.imread(file1); String file2 ="D:\Images\feature2.jpg"; Mat src2 = Imgcodecs.imread(file2); //Creating an empty matrix to store the destination image Mat dst = new Mat(); FastFeatureDetector detector = FastFeatureDetector.create(); //Detecting the key points in both images MatOfKeyPoint keyPoints1 = new MatOfKeyPoint(); detector.detect(src1, keyPoints1); MatOfKeyPoint keyPoints2 = new MatOfKeyPoint(); detector.detect(src2, keyPoints2); MatOfDMatch matof1to2 = new MatOfDMatch(); Features2d.drawMatches(src1, keyPoints1, src2, keyPoints2, matof1to2, dst); HighGui.imshow("Feature Matching", dst); HighGui.waitKey(); } }
Image1 -
Image2 -
위 내용은 OpenCV Java 라이브러리를 사용하여 두 이미지의 키포인트를 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!