Για να ανακτήσουμε τα κυρίαρχα χρώματα σε μια εικόνα χρησιμοποιώντας το πρόγραμμα-πελάτη Vision API, μπορούμε να χρησιμοποιήσουμε τη δυνατότητα ανίχνευσης ιδιοτήτων εικόνας που παρέχεται από το Google Vision API. Αυτό το ισχυρό εργαλείο μας επιτρέπει να αναλύσουμε και να κατανοήσουμε το οπτικό περιεχόμενο μιας εικόνας, συμπεριλαμβανομένου του εντοπισμού των κυρίαρχων χρωμάτων που υπάρχουν.
Το πρώτο βήμα είναι να ρυθμίσετε το πρόγραμμα-πελάτη Vision API και να ελέγξετε την ταυτότητα των αιτημάτων μας. Μόλις το κάνουμε αυτό, μπορούμε να στείλουμε μια εικόνα στο API για ανάλυση. Το API υποστηρίζει διάφορες μορφές εικόνας όπως JPEG, PNG και GIF.
Για να ανακτήσουμε τα κυρίαρχα χρώματα, πρέπει να χρησιμοποιήσουμε τη δυνατότητα «imagePropertiesAnnotation» του API. Αυτή η δυνατότητα μας παρέχει πληροφορίες σχετικά με τα χρώματα που υπάρχουν στην εικόνα, συμπεριλαμβανομένων των κυρίαρχων χρωμάτων. Τα κυρίαρχα χρώματα αντιπροσωπεύονται από τις τιμές RGB τους και ταξινομούνται με βάση την επικράτηση τους στην εικόνα.
Όταν κάνουμε ένα αίτημα στο API, πρέπει να καθορίσουμε την παράμετρο «features» ως «IMAGE_PROPERTIES». Αυτό λέει στο API ότι θέλουμε να εξαγάγουμε τις ιδιότητες της εικόνας, συμπεριλαμβανομένων των κυρίαρχων χρωμάτων. Ακολουθεί ένα παράδειγμα για το πώς μπορούμε να πραγματοποιήσουμε την κλήση API χρησιμοποιώντας Python:
python import base64 from google.cloud import vision def get_dominant_colors(image_path): client = vision.ImageAnnotatorClient() with open(image_path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) features = [vision.Feature(type_=vision.Feature.Type.IMAGE_PROPERTIES)] response = client.annotate_image({ 'image': image, 'features': features }) colors = response.image_properties_annotation.dominant_colors.colors dominant_colors = [] for color_info in colors: color = color_info.color rgb = (color.red, color.green, color.blue) dominant_colors.append(rgb) return dominant_colors
Στο παραπάνω παράδειγμα, εισάγουμε πρώτα τις απαραίτητες βιβλιοθήκες και ελέγχουμε την ταυτότητα του προγράμματος-πελάτη Vision API. Στη συνέχεια, διαβάζουμε το αρχείο εικόνας και δημιουργούμε ένα αντικείμενο Vision API `Image` με το περιεχόμενο της εικόνας. Στη συνέχεια, καθορίζουμε τη δυνατότητα «IMAGE_PROPERTIES» και πραγματοποιούμε την κλήση API χρησιμοποιώντας τη μέθοδο «annotate_image».
Η απόκριση API περιέχει τα κυρίαρχα χρώματα στο πεδίο "image_properties_annotation". Επαναλαμβάνουμε τα χρώματα και εξάγουμε τις τιμές RGB. Τέλος, επιστρέφουμε τη λίστα με τα κυρίαρχα χρώματα.
Είναι σημαντικό να σημειωθεί ότι τα κυρίαρχα χρώματα που επιστρέφονται από το API βασίζονται στη συνολική επικράτηση των χρωμάτων στην εικόνα. Αυτό σημαίνει ότι τα χρώματα που επιστρέφονται ενδέχεται να μην αντιπροσωπεύουν απαραίτητα τα πιο εμφανή οπτικά στοιχεία στην εικόνα. Ωστόσο, παρέχουν μια καλή ένδειξη της κυρίαρχης χρωματικής παλέτας.
Για να ανακτήσουμε τα κυρίαρχα χρώματα σε μια εικόνα χρησιμοποιώντας το πρόγραμμα-πελάτη Vision API, πρέπει να χρησιμοποιήσουμε τη δυνατότητα «imagePropertiesAnnotation». Κάνοντας μια κλήση API με τις κατάλληλες παραμέτρους, μπορούμε να λάβουμε τα κυρίαρχα χρώματα ως τιμές RGB. Αυτή η λειτουργία μπορεί να είναι χρήσιμη σε διάφορες εφαρμογές, όπως η κατηγοριοποίηση εικόνων, η ανάλυση περιεχομένου και η οπτική αναζήτηση.
Άλλες πρόσφατες ερωτήσεις και απαντήσεις σχετικά με EITC/AI/GVAPI Google Vision API:
- Ποιες είναι μερικές προκαθορισμένες κατηγορίες για την αναγνώριση αντικειμένων στο Google Vision API;
- Το Google Vision API ενεργοποιεί την αναγνώριση προσώπου;
- Πώς μπορεί να προστεθεί το εμφανιζόμενο κείμενο στην εικόνα όταν σχεδιάζετε περιγράμματα αντικειμένων χρησιμοποιώντας τη συνάρτηση "draw_vertices";
- Ποιες είναι οι παράμετροι της μεθόδου "draw.line" στον παρεχόμενο κώδικα και πώς χρησιμοποιούνται για τη χάραξη γραμμών μεταξύ των τιμών των κορυφών;
- Πώς μπορεί να χρησιμοποιηθεί η βιβλιοθήκη μαξιλαριού για τη σχεδίαση περιγραμμάτων αντικειμένων στην Python;
- Ποιος είναι ο σκοπός της συνάρτησης "draw_vertices" στον παρεχόμενο κώδικα;
- Πώς μπορεί το Google Vision API να βοηθήσει στην κατανόηση σχημάτων και αντικειμένων σε μια εικόνα;
- Πώς μπορούν οι χρήστες να εξερευνήσουν οπτικά παρόμοιες εικόνες που προτείνει το API;
- Ποια είναι τα διαφορετικά στοιχεία που παρέχονται στο αντικείμενο απόκρισης της δυνατότητας εντοπισμού ιστού του Google Vision API;
- Πώς βοηθά το χαρακτηριστικό Web Detection στη δημιουργία ετικετών για μεταφορτωμένες εικόνες;
Δείτε περισσότερες ερωτήσεις και απαντήσεις στο EITC/AI/GVAPI Google Vision API