पिलो पाइथन लाइब्रेरीमा "draw_vertices" प्रकार्य प्रयोग गरेर वस्तु किनाराहरू कोर्दा छविमा प्रदर्शन पाठ थप्न, हामी चरण-दर-चरण प्रक्रिया अनुसरण गर्न सक्छौं। यस प्रक्रियामा गुगल भिजन एपीआईबाट पत्ता लगाइएका वस्तुहरूको ठाडोहरू पुन: प्राप्त गर्ने, ठाडोहरू प्रयोग गरेर वस्तु सीमानाहरू कोर्ने, र अन्तमा छविमा प्रदर्शन पाठ थप्ने समावेश छ।
1. पत्ता लगाइएका वस्तुहरूको ठाडोहरू पुन: प्राप्त गर्नुहोस्:
- छविमा वस्तुहरू पत्ता लगाउन Google Vision API को प्रयोग गर्नुहोस्।
- API प्रतिक्रियाबाट प्रत्येक पत्ता लगाइएको वस्तुको ठाडोहरू निकाल्नुहोस्। ठाडोहरूले वस्तुको वरिपरि बाउन्डिङ बक्सको चार कुनाहरूलाई प्रतिनिधित्व गर्दछ।
2. ठाडो प्रयोग गरेर वस्तु किनारा कोर्नुहोस्:
- पाइथनमा पिलो लाइब्रेरी प्रयोग गरेर छवि लोड गर्नुहोस्।
- पिलो लाइब्रेरीबाट ImageDraw मोड्युलको उदाहरण सिर्जना गर्नुहोस्।
- प्रत्येक वस्तुको ठाडोमा दोहोर्याउनुहोस् र ImageDraw मोड्युलबाट "draw.rectangle" प्रकार्य प्रयोग गरेर आयत कोर्नुहोस्।
- "draw.rectangle" प्रकार्यले आयतको माथि-बायाँ र तल्लो-दायाँ कुनाहरूको समन्वयहरूलाई तर्कको रूपमा लिन्छ।
3. छविमा प्रदर्शन पाठ थप्नुहोस्:
- ImageDraw मोड्युलको अर्को उदाहरण सिर्जना गर्नुहोस्।
- प्रत्येक वस्तुको ठाडोमा दोहोर्याउनुहोस् र ImageDraw मोड्युलबाट "draw.text" प्रकार्य प्रयोग गरेर प्रदर्शन पाठ थप्नुहोस्।
- "draw.text" प्रकार्यले पाठ स्थिति र पाठ स्ट्रिङलाई तर्कको रूपमा लिन्छ।
- तपाईँले "draw.text" प्रकार्यमा थप प्यारामिटरहरू निर्दिष्ट गरेर पाठको फन्ट, साइज, रङ र अन्य गुणहरू अनुकूलित गर्न सक्नुहुन्छ।
यहाँ एउटा उदाहरण कोड स्निपेट छ जुन माथि वर्णन गरिएको प्रक्रिया देखाउँछ:
python from PIL import Image, ImageDraw, ImageFont # Step 1: Retrieve the vertices of the detected objects # (Assuming you have already obtained the vertices from the Google Vision API) vertices = [ [(100, 100), (200, 100), (200, 200), (100, 200)], # Example vertices of object 1 [(300, 150), (400, 150), (400, 250), (300, 250)] # Example vertices of object 2 ] # Step 2: Draw object borders using the vertices image = Image.open("input_image.jpg") draw = ImageDraw.Draw(image) for vertex in vertices: draw.rectangle(vertex, outline="red") # Step 3: Add display text to the image font = ImageFont.truetype("arial.ttf", 12) text_draw = ImageDraw.Draw(image) for i, vertex in enumerate(vertices): text_position = vertex[0][0], vertex[0][1] - 20 text_draw.text(text_position, f"Object {i+1}", font=font, fill="red") # Save the modified image image.save("output_image.jpg")
यस उदाहरणमा, हामीले गुगल भिजन एपीआईबाट वस्तुहरूको ठाडोहरू प्राप्त गरिसकिएको छ भनी मान्दछौं। त्यसपछि हामी पिलो लाइब्रेरी प्रयोग गरेर छवि लोड गर्छौं, ठाडोहरू प्रयोग गरेर वस्तुको किनारहरू कोर्छौं, र प्रत्येक वस्तुको माथि प्रदर्शन पाठ थप्छौं।
तपाईंको विशेष आवश्यकताहरू, जस्तै फन्ट, फन्ट साइज, र पाठ रङ अनुसार कोड समायोजन गर्न सम्झनुहोस्।
अन्य भर्खरका प्रश्न र उत्तरहरू सम्बन्धमा तकिया पाइथन लाइब्रेरी प्रयोग गरी वस्तु बोर्डर रेखाचित्र:
- प्रदान गरिएको कोडमा "draw.line" विधिका प्यारामिटरहरू के हुन्, र तिनीहरू कसरी vertices मानहरू बीच रेखाहरू कोर्न प्रयोग गरिन्छ?
- पाइथनमा वस्तु सीमानाहरू कोर्न कसरी तकिया पुस्तकालय प्रयोग गर्न सकिन्छ?
- प्रदान गरिएको कोडमा "draw_vertices" प्रकार्यको उद्देश्य के हो?
- Google Vision API ले छविमा रहेका आकार र वस्तुहरू बुझ्न कसरी मद्दत गर्न सक्छ?