Para adicionar texto de exibição à imagem ao desenhar bordas de objetos usando a função "draw_vertices" na biblioteca Pillow Python, podemos seguir um processo passo a passo. Este processo envolve recuperar os vértices dos objetos detectados da API Google Vision, desenhar as bordas do objeto usando os vértices e, finalmente, adicionar o texto de exibição à imagem.
1. Recupere os vértices dos objetos detectados:
– Utilize a API Google Vision para detectar objetos em uma imagem.
– Extraia os vértices de cada objeto detectado da resposta da API. Os vértices representam os quatro cantos da caixa delimitadora que circunda o objeto.
2. Desenhe bordas de objetos usando os vértices:
– Carregue a imagem usando a biblioteca Pillow em Python.
– Crie uma instância do módulo ImageDraw da biblioteca Pillow.
– Itere sobre os vértices de cada objeto e desenhe um retângulo usando a função "draw.rectangle" do módulo ImageDraw.
– A função "draw.rectangle" toma as coordenadas dos cantos superior esquerdo e inferior direito do retângulo como argumentos.
3. Adicione texto de exibição à imagem:
– Crie outra instância do módulo ImageDraw.
– Itere sobre os vértices de cada objeto e adicione o texto de exibição usando a função "draw.text" do módulo ImageDraw.
– A função "draw.text" toma as coordenadas da posição do texto e a sequência de texto como argumentos.
– Você pode personalizar a fonte, tamanho, cor e outras propriedades do texto especificando parâmetros adicionais na função "draw.text".
Aqui está um trecho de código de exemplo que demonstra o processo descrito acima:
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")
Neste exemplo, assumimos que os vértices dos objetos já foram obtidos da API Google Vision. Em seguida, carregamos a imagem usando a biblioteca Pillow, desenhamos as bordas do objeto usando os vértices e adicionamos texto de exibição acima de cada objeto.
Lembre-se de ajustar o código de acordo com seus requisitos específicos, como fonte, tamanho da fonte e cor do texto.
Outras perguntas e respostas recentes sobre Desenhar bordas de objetos usando a biblioteca Pill Python:
- Quais são os parâmetros do método "draw.line" no código fornecido e como eles são usados para desenhar linhas entre valores de vértices?
- Como a biblioteca de travesseiros pode ser usada para desenhar bordas de objetos em Python?
- Qual é o propósito da função "draw_vertices" no código fornecido?
- Como a API Google Vision pode ajudar na compreensão de formas e objetos em uma imagem?