একটি ছবিতে সনাক্ত চেহারার সংখ্যা গণনা করা খুব সহজ। পिछলে লিখা প্রোগ্রামটিতে চেহারার সংখ্যার তথ্য 'faces.size()'-এ থাকে। এই কোড 'faces.size()' একটি পূর্ণসংখ্যা মান ফেরত দেয়।
উদাহরণস্বরূপ, যদি আমরা 'int x = faces.size()' লিখি, তবে 'x'-এ চেহারার সংখ্যা থাকবে।
দেওয়া ছবি থেকে চেহারার সংখ্যা গণনা করে কনসোল উইন্ডোতে দেখানোর প্রোগ্রাম
#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/objdetect/objdetect.hpp> // ক্যাসকেড ক্লাসিফায়ারের সংজ্ঞা এই হেডারে
#include<string>
using namespace std;
using namespace cv;
int main(int argc, char** argv) {
Mat image_with_humanface; // মানুষের চেহারা সহ ছবি লোড করার জন্য ম্যাট্রিক্স
image_with_humanface = imread("friends.jpg"); // মানুষের চেহারা সহ ছবি লোড
string trained_classifier_location = "C:/opencv/sources/data/haarcascades/haarcascade_frontalface_alt.xml"; // XML ট্রেন্ড ক্লাসিফায়ারের লোকেশন
CascadeClassifier faceDetector; // CascadeClassifier ক্লাসের 'face detector' অবজেক্ট
faceDetector.load(trained_classifier_location); // XML ট্রেন্ড ক্লাসিফায়ার অবজেক্টে লোড
vector<Rect> faces; // চেহারার জন্য রেক্ট্যাঙ্গুলার ভেক্টর
faceDetector.detectMultiScale(image_with_humanface, faces, 1.1, 4, CASCADE_SCALE_IMAGE, Size(20, 20)); // 'image_with_humanface' ম্যাট্রিক্সে চেহারা সনাক্তকরণ
int x = faces.size(); // চেহারার সংখ্যা গণনা করে পূর্ণসংখ্যা মান x-এ সংরক্ষণ
cout << "Number of face(s) in the image = " << x << endl; // কনসোল উইন্ডোতে x-এর মান দেখানো
system("pause"); // ফলাফল দেখার জন্য সিস্টেম পজ
return 0;
}
আউটপুট
