Để thêm văn bản hiển thị vào hình ảnh khi vẽ đường viền đối tượng bằng hàm "draw_vertices" trong thư viện Pillow Python, chúng ta có thể làm theo quy trình từng bước. Quá trình này bao gồm việc truy xuất các đỉnh của các đối tượng được phát hiện từ Google Vision API, vẽ đường viền đối tượng bằng các đỉnh và cuối cùng là thêm văn bản hiển thị vào hình ảnh.
1. Truy xuất các đỉnh của đối tượng được phát hiện:
– Sử dụng API Google Vision để phát hiện các đối tượng trong hình ảnh.
– Trích xuất các đỉnh của từng đối tượng được phát hiện từ phản hồi API. Các đỉnh đại diện cho bốn góc của hộp giới hạn bao quanh đối tượng.
2. Vẽ đường viền đối tượng bằng các đỉnh:
– Load hình ảnh bằng thư viện Pillow trong Python.
– Tạo một phiên bản của mô-đun ImageDraw từ thư viện Gối.
– Lặp lại các đỉnh của từng đối tượng và vẽ một hình chữ nhật bằng cách sử dụng hàm "draw.hình chữ nhật" từ mô-đun ImageDraw.
– Hàm "draw.rectangle" lấy tọa độ của góc trên bên trái và góc dưới bên phải của hình chữ nhật làm đối số.
3. Thêm văn bản hiển thị vào hình ảnh:
– Tạo một phiên bản khác của mô-đun ImageDraw.
– Lặp lại các đỉnh của từng đối tượng và thêm văn bản hiển thị bằng chức năng "draw.text" từ mô-đun ImageDraw.
– Hàm "draw.text" lấy tọa độ của vị trí văn bản và chuỗi văn bản làm đối số.
– Bạn có thể tùy chỉnh phông chữ, kích thước, màu sắc và các thuộc tính khác của văn bản bằng cách chỉ định các tham số bổ sung trong hàm "draw.text".
Đây là một đoạn mã ví dụ thể hiện quy trình được mô tả ở trên:
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")
Trong ví dụ này, chúng tôi giả định rằng các đỉnh của đối tượng đã được lấy từ API Google Vision. Sau đó, chúng tôi tải hình ảnh bằng thư viện Gối, vẽ đường viền đối tượng bằng các đỉnh và thêm văn bản hiển thị phía trên mỗi đối tượng.
Hãy nhớ điều chỉnh mã theo yêu cầu cụ thể của bạn, chẳng hạn như phông chữ, cỡ chữ và màu văn bản.
Các câu hỏi và câu trả lời gần đây khác liên quan đến Vẽ đường viền đối tượng bằng thư viện gối python:
- Các tham số của phương thức "draw.line" trong mã được cung cấp là gì và chúng được sử dụng như thế nào để vẽ các đường giữa các giá trị đỉnh?
- Làm cách nào để sử dụng thư viện gối để vẽ đường viền đối tượng trong Python?
- Mục đích của hàm "draw_vertices" trong mã được cung cấp là gì?
- API Google Vision có thể giúp hiểu các hình dạng và đối tượng trong hình ảnh như thế nào?
Thêm câu hỏi và câu trả lời:
- Cánh đồng: Trí tuệ nhân tạo
- chương trình: API Google Vision của EITC/AI/GVAPI (đi đến chương trình chứng nhận)
- Bài học: Hiểu hình dạng và vật thể (đến bài học liên quan)
- Chủ đề: Vẽ đường viền đối tượng bằng thư viện gối python (đi đến chủ đề liên quan)
- ôn thi