Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java OpenCV लाइब्रेरी का उपयोग करके इमेज में चेहरों का पता कैसे लगाएं?


CascadeClassifier क्लास का उपयोग क्लासिफायर फाइल लोड करने और इमेज में वांछित ऑब्जेक्ट्स का पता लगाने के लिए किया जाता है।

इस क्लास की detectMultiScale() मेथड विभिन्न आकारों के कई ऑब्जेक्ट्स का पता लगाती है। यह मेथड स्वीकार करती है −

  • इनपुट इमेज को रखने वाली Mat क्लास का ऑब्जेक्ट।

  • पता लगाए गए चेहरों को स्टोर करने के लिए MatOfRect क्लास का ऑब्जेक्ट।

इमेज में चेहरों की संख्या प्राप्त करने के लिए −

  • CascadeClassifier क्लास का उपयोग करके lbpcascade_frontalface.xml फाइल लोड करें।

  • detectMultiScale() मेथड को कॉल करें।

  • MatOfRect ऑब्जेक्ट को ऐरे में बदलें।

  • ऐरे की लंबाई इमेज में चेहरों की संख्या है।

उदाहरण

import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfRect; import org.opencv.core.Point; import org.opencv.core.Rect; import org.opencv.core.Scalar; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; import org.opencv.objdetect.CascadeClassifier; public class FaceDetection {    public static void main (String[] args) {       // OpenCV कोर लाइब्रेरी लोड कर रहा है       System.loadLibrary( Core.NATIVE_LIBRARY_NAME );       // फाइल से इमेज पढ़ रहा है       String file ="D:\\Images\\faces.jpg";       Mat src = Imgcodecs.imread(file);       // CascadeClassifier को इंस्टेंटिएट कर रहा है       String xmlFile = "lbpcascade_frontalface.xml";       CascadeClassifier classifier = new CascadeClassifier(xmlFile);       // स्नैप में चेहरे का पता लगा रहा है       MatOfRect faceDetections = new MatOfRect();       classifier.detectMultiScale(src, faceDetections);       System.out.println(String.format("Detected %s faces",       faceDetections.toArray().length));       // बॉक्स बना रहा है       for (Rect rect : faceDetections.toArray()) {          Imgproc.rectangle(             src,             new Point(rect.x, rect.y),             new Point(rect.x + rect.width, rect.y + rect.height),             new Scalar(0, 0, 255),             3          );       }       // इमेज लिख रहा है       Imgcodecs.imwrite("D:\\Images\\face_Detection.jpg", src);       System.out.println("Image Processed");    } }

इनपुट

Java OpenCV लाइब्रेरी का उपयोग करके इमेज में चेहरों का पता कैसे लगाएं?

आउटपुट

पता चले चेहरे: 3

  1. Java OpenCV लाइब्रेरी का उपयोग करके मिरर इमेज कैसे बनाएं? Java OpenCV लाइब्रेरी का उपयोग करके मिरर इमेज कैसे बनाएं?

    मिरर इमेज बनाने के लिएImageIO.read() मेथड का उपयोग करके आवश्यक इमेज पढ़ें।इमेज की ऊंचाई और चौड़ाई प्राप्त करें।परिणाम स्टोर करने के लिए एक खाली बफर्ड इमेज बनाएं।नेस्टेड फॉर लूप का उपयोग करके इमेज में प्रत्येक पिक्सेल को पार करें।इमेज की चौड़ाई को दाएं से बाएं की ओर पुनरावृत्त करें।getRGB() मेथड का उ

  1. Java OpenCV लाइब्रेरी का उपयोग करके नेगेटिव इमेज को पॉजिटिव इमेज में कैसे बदलें? Java OpenCV लाइब्रेरी का उपयोग करके नेगेटिव इमेज को पॉजिटिव इमेज में कैसे बदलें?

    नेगेटिव इमेज को पॉजिटिव में बदलने के लिए −ImageIO.read() मेथड का उपयोग करके आवश्यक इमेज पढ़ें।इमेज की ऊंचाई और चौड़ाई प्राप्त करें।नेस्टेड फॉर लूप का उपयोग करके इमेज में प्रत्येक पिक्सेल को पार करें।getRGB() मेथड का उपयोग करके पिक्सेल मान प्राप्त करें।एक पिक्सेल से प्रत्येक मान को पुनर्प्राप्त करने

  1. Java OpenCV लाइब्रेरी का उपयोग करके इमेज कैसे लिखें? Java OpenCV लाइब्रेरी का उपयोग करके इमेज कैसे लिखें?

    OpenCV लाइब्रेरी का उपयोग करके आप इमेज प्रोसेसिंग ऑपरेशन कर सकते हैं जैसे इमेज फ़िल्टरिंग, ज्यामितीय इमेज ट्रांसफॉर्मेशन, कलर स्पेस रूपांतरण, हिस्टोग्राम, आदि।इमेज लिखनाजब भी आप Imgcodecs क्लास की imread() मेथड का उपयोग करके इमेज की सामग्री पढ़ते हैं, तो परिणाम मैट्रिक्स ऑब्जेक्ट में पढ़ा जाता है।आप