দি ডিটেক্ট()৷ org.opencv.features2d.Feature2D এর পদ্ধতি (বিমূর্ত) ক্লাস প্রদত্ত চিত্রের মূল পয়েন্টগুলি সনাক্ত করে। এই পদ্ধতিতে, আপনাকে একটি ম্যাট পাস করতে হবে বস্তুটি উৎস চিত্রের প্রতিনিধিত্ব করে এবং একটি খালি MatOfKeyPoint পঠিত মূল পয়েন্ট ধরে রাখতে অবজেক্ট।
আপনি drawKeypoints() ব্যবহার করে ছবির মূল পয়েন্টগুলি আঁকতে পারেন org.opencv.features2d.Features2d এর পদ্ধতি ক্লাস।
নোট
৷-
যেহেতু Feature2D হল একটি বিমূর্ত শ্রেণী, আপনাকে detect() পদ্ধতি চালু করতে এর একটি সাবক্লাস ইনস্ট্যান্ট করতে হবে। এখানে আমরা FastFeatureDetector ক্লাস ব্যবহার করেছি।
-
বৈশিষ্ট্য2D এবং Features2d প্যাকেজের দুটি ভিন্ন শ্রেণী features2d বিভ্রান্ত হবেন না...
উদাহরণ
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfKeyPoint;
import org.opencv.core.Scalar;
import org.opencv.features2d.FastFeatureDetector;
import org.opencv.features2d.Features2d;
import org.opencv.highgui.HighGui;z
import org.opencv.imgcodecs.Imgcodecs;
public class DetectingKeyPoints{
public static void main(String args[]) throws Exception {
//Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
//Reading the contents of the image
String file ="D:\\Images\\javafx_graphical.jpg";
Mat src = Imgcodecs.imread(file);
//Reading the key points of the image
Mat dst = new Mat();
MatOfKeyPoint matOfKeyPoints = new MatOfKeyPoint();
FastFeatureDetector featureDetector = FastFeatureDetector.create();
featureDetector.detect(src, matOfKeyPoints);
//Drawing the detected key points
Features2d.drawKeypoints(src, matOfKeyPoints, dst, new Scalar(0, 0, 255));
HighGui.imshow("Feature Detection", dst);
HighGui.waitKey();
}
} ইনপুট ছবি

আউটপুট
