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

जावा ओपनसीवी लाइब्रेरी का उपयोग कर किसी छवि में चेहरों का पता कैसे लगाएं?


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

इस वर्ग का डिटेक्टमल्टीस्केल () विभिन्न आकारों की कई वस्तुओं का पता लगाता है। यह विधि स्वीकार करती है -

  • इनपुट छवि धारण करने वाली कक्षा Mat की एक वस्तु।

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

छवि में चेहरों की संख्या प्राप्त करने के लिए -

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

  • डिटेक्टमल्टीस्केल () मेथड को इनवाइट करें।

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

  • सरणी की लंबाई छवि में चेहरों की संख्या है।

उदाहरण

आयात करें .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) { / /ओपनसीवी कोर लाइब्रेरी को लोड करना System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // फ़ाइल से छवि पढ़ना स्ट्रिंग फ़ाइल ="D:\\Images\\faces.jpg"; मैट स्रोत =Imgcodecs.imread (फ़ाइल); // CascadeClassifier String xmlFile ="lbpcascade_frontalface.xml" को इंस्टेंट करना; कैस्केड क्लासिफायर क्लासिफायर =नया कैस्केड क्लासिफायर (xmlFile); // स्नैप में चेहरे का पता लगाना MatOfRect faceDetections =new MatOfRect (); क्लासिफायर। डिटेक्ट मल्टीस्केल (src, faceDetections); System.out.println (स्ट्रिंग। प्रारूप ("% s चेहरे का पता लगाया", faceDetections.toArray ()। लंबाई)); // (रेक्ट रेक्ट :faceDetections.toArray ()) {Imgproc.rectangle(src, new Point(rect.x, rect.y), new point(rect.x + rect.width, rect.y + rect) के लिए ड्रॉइंग बॉक्स .height), नया स्केलर (0, 0, 255), 3); } // इमेज लिखना Imgcodecs.imwrite("D:\\Images\\face_Detection.jpg", src); System.out.println ("छवि संसाधित"); }}

इनपुट

जावा ओपनसीवी लाइब्रेरी का उपयोग कर किसी छवि में चेहरों का पता कैसे लगाएं?

आउटपुट

पहचाने गए चेहरों की संख्या:3

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

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

  1. जावा ओपनसीवी लाइब्रेरी का उपयोग करके नकारात्मक छवि को सकारात्मक छवि में कैसे परिवर्तित करें?

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

  1. जावा ओपनसीवी लाइब्रेरी का उपयोग करके एक छवि कैसे लिखें?

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