სურათზე საჩვენებელი ტექსტის დასამატებლად ობიექტის საზღვრების დახატვისას Pillow Python ბიბლიოთეკაში "draw_vertices" ფუნქციის გამოყენებით, შეგვიძლია მივყვეთ ნაბიჯ-ნაბიჯ პროცესს. ეს პროცესი მოიცავს აღმოჩენილი ობიექტების წვეროების მოძიებას Google Vision API-დან, ობიექტის საზღვრების დახატვას წვეროების გამოყენებით და ბოლოს საჩვენებელი ტექსტის სურათზე დამატებას.
1. ამოიღეთ აღმოჩენილი ობიექტების წვეროები:
- გამოიყენეთ Google Vision API სურათზე ობიექტების გამოსავლენად.
- ამოიღეთ თითოეული აღმოჩენილი ობიექტის წვეროები API პასუხიდან. წვეროები წარმოადგენს შემოსაზღვრული ყუთის ოთხ კუთხეს, რომელიც აკრავს ობიექტს.
2. დახაზეთ ობიექტის საზღვრები წვეროების გამოყენებით:
- ჩატვირთეთ სურათი Pillow ბიბლიოთეკის გამოყენებით Python-ში.
– შექმენით ImageDraw მოდულის მაგალითი Pillow ბიბლიოთეკიდან.
– გაიმეორეთ თითოეული ობიექტის წვეროებზე და დახაზეთ მართკუთხედი 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")
ამ მაგალითში, ჩვენ ვვარაუდობთ, რომ ობიექტების წვეროები უკვე მიღებულია Google Vision API-დან. შემდეგ ჩვენ ვტვირთავთ სურათს Pillow ბიბლიოთეკის გამოყენებით, ვხატავთ ობიექტის საზღვრებს წვეროების გამოყენებით და ვამატებთ საჩვენებელ ტექსტს თითოეული ობიექტის ზემოთ.
გახსოვდეთ, რომ დაარეგულირეთ კოდი თქვენი კონკრეტული მოთხოვნების შესაბამისად, როგორიცაა შრიფტი, შრიფტის ზომა და ტექსტის ფერი.
სხვა ბოლოდროინდელი კითხვები და პასუხები ობიექტის საზღვრების დახატვა ბალიშის პითონის ბიბლიოთეკის გამოყენებით:
- რა პარამეტრები აქვს მოწოდებულ კოდში "draw.line" მეთოდის და როგორ გამოიყენება ისინი წვეროების მნიშვნელობებს შორის ხაზების გასაფორმებლად?
- როგორ შეიძლება ბალიშის ბიბლიოთეკის გამოყენება Python-ში ობიექტების საზღვრების დასახაზად?
- რა დანიშნულება აქვს მოწოდებულ კოდში "draw_vertices" ფუნქციას?
- როგორ შეუძლია Google Vision API-ს დაგეხმაროთ გამოსახულების ფორმებისა და ობიექტების გაგებაში?