Za dodavanje teksta za prikaz na sliku prilikom crtanja granica objekta pomoću funkcije "draw_vertices" u biblioteci Pillow Python, možemo slijediti postupak korak po korak. Ovaj proces uključuje dohvaćanje vrhova otkrivenih objekata iz Google Vision API-ja, crtanje obruba objekta pomoću vrhova i konačno dodavanje teksta za prikaz slici.
1. Dohvatite vrhove otkrivenih objekata:
– Upotrijebite Google Vision API za otkrivanje objekata na slici.
– Ekstrahirajte vrhove svakog otkrivenog objekta iz API odgovora. Vrhovi predstavljaju četiri kuta graničnog okvira koji okružuje objekt.
2. Nacrtajte granice objekta pomoću vrhova:
– Učitajte sliku pomoću biblioteke Pillow u Pythonu.
– Stvorite instancu modula ImageDraw iz biblioteke Pillow.
– Iterirajte preko vrhova svakog objekta i nacrtajte pravokutnik pomoću funkcije "draw.rectangle" iz modula ImageDraw.
– Funkcija "draw.rectangle" uzima koordinate gornjeg lijevog i donjeg desnog kuta pravokutnika kao argumente.
3. Dodajte prikazni tekst na sliku:
– Stvorite drugu instancu modula ImageDraw.
– Iterirajte po vrhovima svakog objekta i dodajte tekst za prikaz pomoću funkcije "draw.text" iz modula ImageDraw.
– Funkcija "draw.text" uzima koordinate položaja teksta i tekstualni niz kao argumente.
– Možete prilagoditi font, veličinu, boju i druga svojstva teksta određivanjem dodatnih parametara u funkciji "draw.text".
Evo primjera isječka koda koji demonstrira gore opisani proces:
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")
U ovom primjeru pretpostavljamo da su vrhovi objekata već dobiveni od Google Vision API-ja. Zatim učitavamo sliku pomoću biblioteke Pillow, crtamo granice objekta pomoću vrhova i dodajemo prikazni tekst iznad svakog objekta.
Ne zaboravite prilagoditi kôd prema svojim specifičnim zahtjevima, kao što su font, veličina fonta i boja teksta.
Ostala nedavna pitanja i odgovori u vezi Crtanje granica predmeta pomoću biblioteke jastuka python:
- Koji su parametri metode "draw.line" u danom kodu i kako se koriste za crtanje linija između vrijednosti vrhova?
- Kako se knjižnica jastuka može koristiti za crtanje granica objekta u Pythonu?
- Koja je svrha funkcije "draw_vertices" u navedenom kodu?
- Kako Google Vision API može pomoći u razumijevanju oblika i objekata na slici?