Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ का उपयोग करके OpenCV में चेहरों की संख्या कैसे गिनें?

एक छवि में स्थित चेहरों की संख्या गिनना आसान है। पिछले भाग में हमने जो प्रोग्राम लिखा था, उसमें पहले से ही 'faces.size ()' में चेहरों की संख्या की जानकारी है। यह कोड-'faces.size ()' एक पूर्णांक मान देता है।

उदाहरण के लिए, यदि हम 'int x =face.size ()' लिखते हैं, तो 'x' में चेहरों की संख्या होगी।

निम्न प्रोग्राम किसी दिए गए चित्र से चेहरों की संख्या की गणना करता है और इसे कंसोल विंडो में दिखाता है।

उदाहरण

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/objdetect/objdetect.hpp>
//This header includes the definition of Cascade Classifier//
#include<string>
using namespace std;
using namespace cv;
int main(int argc, char** argv){
   Mat image_with_humanface;//Declaring a matrix to load image with human faces//
   image_with_humanface = imread("friends.jpg");//loading an image that contains human face in it//
   string trained_classifier_location = "C:/opencv/sources/data/haarcascades/haarcascade_frontalface_alt.xml";//Defining the location our XML Trained Classifier in a string//
   CascadeClassifier faceDetector;//Declaring an object named 'face detector' of CascadeClassifier class//
   faceDetector.load(trained_classifier_location);//loading the XML trained classifier in the object//
   vector<Rect>faces;//Declaring a rectangular vector named faces//
   faceDetector.detectMultiScale(image_with_humanface, faces, 1.1, 4, CASCADE_SCALE_IMAGE, Size(20, 20));//Detecting the faces in 'image_with_humanfaces' matrix//
   int x = faces.size();//Calculating the number of faces and storing the integer value in x//
   cout << "Number of face(s)in the image=" << x << endl;//Displaying the value of x in the console window//
   system("pause");//Pausing the system to visualize the result//
   return 0;
}

आउटपुट

C++ का उपयोग करके OpenCV में चेहरों की संख्या कैसे गिनें?


  1. सी ++ का उपयोग कर ओपनसीवी में अंडाकार कैसे आकर्षित करें?

    एक दीर्घवृत्त खींचने के लिए, हमें एक केंद्र, दीर्घ अक्ष और लघु अक्ष की आवश्यकता होती है। इसका मतलब है कि हमें अंडाकार के लिए तीन पैरामीटर चाहिए। हमें एक मैट्रिक्स की आवश्यकता है जहां हम दीर्घवृत्त खींचेंगे, और हमें रेखा की मोटाई और रेखा का रंग घोषित करने की आवश्यकता है। जब हम OpenCV का उपयोग करके ए

  1. C++ का उपयोग करके OpenCV में एक रेखा कैसे खींचना है?

    एक रेखा खींचने के लिए हमें दो बिंदुओं की आवश्यकता होती है-आरंभिक बिंदु और अंत बिंदु। रेखा खींचने के लिए हमें कैनवास की भी आवश्यकता होती है। ओपनसीवी, हमारे कैनवास में मैट्रिक्स का उपयोग करके, हमें लाइन के शुरुआती और समाप्ति बिंदुओं को परिभाषित करने की आवश्यकता है। हमें रेखा को भी एक रंग निर्दिष्ट कर

  1. सी ++ का उपयोग कर ओपनसीवी में किसी छवि के चैनलों की संख्या की गणना कैसे करें?

    इस विषय में, हम समझेंगे कि किसी छवि के चैनलों की संख्या का पता कैसे लगाया जाए। प्रोग्राम चलाने के बाद, कंसोल विंडो में चैनल का नंबर दिखाया जाएगा। चैनल की संख्या प्राप्त करने के लिए, हमने ओपनसीवी के एक वर्ग का उपयोग किया है जिसका नाम चैनल () है। जब हम इमेज मैट्रिक्स को चैनल () वर्ग के ऑब्जेक्ट के रू