כדי להוסיף טקסט תצוגה לתמונה בעת ציור גבולות אובייקט באמצעות הפונקציה "draw_vertices" בספריית Pillow Python, נוכל לעקוב אחר תהליך שלב אחר שלב. תהליך זה כולל שליפת הקודקודים של האובייקטים שזוהו מ-Google Vision API, שרטוט גבולות האובייקט באמצעות הקודקודים ולבסוף הוספת טקסט התצוגה לתמונה.
1. אחזר את הקודקודים של האובייקטים שזוהו:
- השתמש ב-Google Vision API כדי לזהות אובייקטים בתמונה.
– חלץ את הקודקודים של כל אובייקט שזוהה מתגובת ה-API. הקודקודים מייצגים את ארבע הפינות של התיבה התוחמת המקיפה את האובייקט.
2. צייר גבולות אובייקט באמצעות הקודקודים:
- טען את התמונה באמצעות ספריית הכריות ב-Python.
– צור מופע של מודול ImageDraw מספריית הכרית.
– חזור על הקודקודים של כל אובייקט וצייר מלבן באמצעות הפונקציה "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. לאחר מכן אנו טוענים את התמונה באמצעות ספריית הכרית, מציירים את גבולות האובייקט באמצעות הקודקודים ומוסיפים טקסט תצוגה מעל כל אובייקט.
זכור להתאים את הקוד בהתאם לדרישות הספציפיות שלך, כגון הגופן, גודל הגופן וצבע הטקסט.
שאלות ותשובות אחרונות אחרות בנושא ציור גבולות אובייקט באמצעות ספריית פיתון כרית:
- מהם הפרמטרים של שיטת "draw.line" בקוד שסופק, וכיצד הם משמשים לציור קווים בין ערכי קודקודים?
- כיצד ניתן להשתמש בספריית הכריות כדי לצייר גבולות אובייקט ב-Python?
- מהי המטרה של הפונקציה "draw_vertices" בקוד שסופק?
- כיצד Google Vision API יכול לעזור בהבנת צורות ואובייקטים בתמונה?