এর ক্যাসকেডক্ল্যাসিফায়ার ক্লাসটি ক্লাসিফায়ার ফাইল লোড করতে ব্যবহৃত হয় এবং ছবিতে পছন্দসই বস্তু সনাক্ত করে৷
এই শ্রেণীর detectMultiScale() বিভিন্ন আকারের একাধিক বস্তু সনাক্ত করে। এই পদ্ধতি গ্রহণ করে −
-
ক্লাস ম্যাটের একটি অবজেক্ট ইনপুট ইমেজ ধারণ করে।
-
সনাক্ত করা মুখগুলি সংরক্ষণ করার জন্য MatOfRect ক্লাসের একটি বস্তু৷
ছবিতে মুখের সংখ্যা পেতে -
-
CascadeClassifier ক্লাস ব্যবহার করে lbpcascade_frontalface.xml ফাইলটি লোড করুন।
-
DetectMultiScale() পদ্ধতি ব্যবহার করুন।
-
MatOfRect অবজেক্টকে একটি অ্যারেতে রূপান্তর করুন।
-
অ্যারের দৈর্ঘ্য হল ছবিতে মুখের সংখ্যা৷
৷
উদাহরণ
org.opencv.core.Core আমদানি করুন .opencv.core.Scalar;import org.opencv.imgcodecs.Imgcodecs;import org.opencv.imgproc.Imgproc;আমদানি org.opencv.objdetect.CascadeClassifier;পাবলিক ক্লাস ফেসডিটেকশন { প্রধান স্টাটিক / স্টাটিক] /OpenCV কোর লাইব্রেরি System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); // স্ট্রিং ফাইল "D:\\Images\\faces.jpg" ফাইল থেকে ছবি পড়া; Mat src =Imgcodecs.imread(file); // CascadeClassifier স্ট্রিং xmlFile ="lbpcascade_frontalface.xml" চালু করা; CascadeClassifier classifier =new CascadeClassifier(xmlFile); // স্ন্যাপে মুখ সনাক্ত করা MatOfRect faceDetections =নতুন MatOfRect(); classifier.detectMultiScale(src, faceDetections); System.out.println(String.format("সনাক্ত করা হয়েছে %s মুখ", faceDetections.toArray().দৈর্ঘ্য)); // (Rect rect :faceDetections.toArray()) { Imgproc.rectangle(src, new Point(rect.x, rect.y), নতুন Point(rect.x + rect.width, rect.y + rect) এর জন্য বাক্স আঁকা উচ্চতা), নতুন স্কেলার(0, 0, 255), 3 ); } //ইমেজ লেখা হচ্ছে Imgcodecs.imwrite("D:\\Images\\face_Detection.jpg", src); System.out.println("ইমেজ প্রসেসড"); }}ইনপুট
আউটপুট
মুখের সংখ্যা সনাক্ত করা হয়নি:3