Για να προσθέσουμε κείμενο εμφάνισης στην εικόνα όταν σχεδιάζουμε περιγράμματα αντικειμένων χρησιμοποιώντας τη συνάρτηση "draw_vertices" στη βιβλιοθήκη Pillow Python, μπορούμε να ακολουθήσουμε μια διαδικασία βήμα προς βήμα. Αυτή η διαδικασία περιλαμβάνει την ανάκτηση των κορυφών των αντικειμένων που εντοπίστηκαν από το Google Vision API, τη σχεδίαση των περιγραμμάτων των αντικειμένων χρησιμοποιώντας τις κορυφές και, τέλος, την προσθήκη του κειμένου εμφάνισης στην εικόνα.
1. Ανακτήστε τις κορυφές των αντικειμένων που εντοπίστηκαν:
– Χρησιμοποιήστε το Google Vision API για να εντοπίσετε αντικείμενα σε μια εικόνα.
– Εξάγετε τις κορυφές κάθε εντοπισμένου αντικειμένου από την απόκριση API. Οι κορυφές αντιπροσωπεύουν τις τέσσερις γωνίες του πλαισίου οριοθέτησης που περιβάλλει το αντικείμενο.
2. Σχεδιάστε περιγράμματα αντικειμένων χρησιμοποιώντας τις κορυφές:
– Φορτώστε την εικόνα χρησιμοποιώντας τη βιβλιοθήκη Pillow στην Python.
– Δημιουργήστε μια παρουσία της μονάδας ImageDraw από τη βιβλιοθήκη Pillow.
– Επαναλάβετε τις κορυφές κάθε αντικειμένου και σχεδιάστε ένα ορθογώνιο χρησιμοποιώντας τη συνάρτηση "draw.rectangle" από τη μονάδα ImageDraw.
– Η συνάρτηση "draw.rectangle" παίρνει ως ορίσματα τις συντεταγμένες της επάνω αριστερής και κάτω δεξιάς γωνίας του ορθογωνίου.
3. Προσθέστε κείμενο εμφάνισης στην εικόνα:
– Δημιουργήστε μια άλλη παρουσία της μονάδας ImageDraw.
– Επαναλάβετε τις κορυφές κάθε αντικειμένου και προσθέστε το κείμενο της οθόνης χρησιμοποιώντας τη συνάρτηση "draw.text" από τη μονάδα ImageDraw.
– Η συνάρτηση "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")
Σε αυτό το παράδειγμα, υποθέτουμε ότι οι κορυφές των αντικειμένων έχουν ήδη ληφθεί από το Google Vision API. Στη συνέχεια, φορτώνουμε την εικόνα χρησιμοποιώντας τη βιβλιοθήκη Pillow, σχεδιάζουμε τα περιγράμματα των αντικειμένων χρησιμοποιώντας τις κορυφές και προσθέτουμε κείμενο εμφάνισης πάνω από κάθε αντικείμενο.
Θυμηθείτε να προσαρμόσετε τον κώδικα σύμφωνα με τις συγκεκριμένες απαιτήσεις σας, όπως τη γραμματοσειρά, το μέγεθος γραμματοσειράς και το χρώμα του κειμένου.
Άλλες πρόσφατες ερωτήσεις και απαντήσεις σχετικά με Σχεδίαση περιγράμματος αντικειμένου χρησιμοποιώντας βιβλιοθήκη μαξιλαριών python:
- Ποιες είναι οι παράμετροι της μεθόδου "draw.line" στον παρεχόμενο κώδικα και πώς χρησιμοποιούνται για τη χάραξη γραμμών μεταξύ των τιμών των κορυφών;
- Πώς μπορεί να χρησιμοποιηθεί η βιβλιοθήκη μαξιλαριού για τη σχεδίαση περιγραμμάτων αντικειμένων στην Python;
- Ποιος είναι ο σκοπός της συνάρτησης "draw_vertices" στον παρεχόμενο κώδικα;
- Πώς μπορεί το Google Vision API να βοηθήσει στην κατανόηση σχημάτων και αντικειμένων σε μια εικόνα;
Περισσότερες ερωτήσεις και απαντήσεις:
- Πεδίο: Τεχνητή νοημοσύνη
- πρόγραμμα: EITC/AI/GVAPI Google Vision API (μεταβείτε στο πρόγραμμα πιστοποίησης)
- Μάθημα: Κατανόηση σχημάτων και αντικειμένων (πηγαίνετε στο σχετικό μάθημα)
- Θέμα: Σχεδίαση περιγράμματος αντικειμένου χρησιμοποιώντας βιβλιοθήκη μαξιλαριών python (μεταβείτε σε σχετικό θέμα)
- Ανασκόπηση εξέτασης