Ha a Pillow Python könyvtárban lévő "draw_vertices" függvény segítségével objektumszegélyeket rajzol, akkor megjelenítő szöveget szeretne hozzáadni a képhez, lépésről lépésre követheti a folyamatot. Ez a folyamat magában foglalja az észlelt objektumok csúcsainak lekérését a Google Vision API-ból, az objektumszegélyek megrajzolását a csúcsok segítségével, és végül a megjelenített szöveg hozzáadását a képhez.
1. Keresse ki az észlelt objektumok csúcsait:
– Használja a Google Vision API-t a képeken lévő objektumok észlelésére.
– Bontsa ki az egyes észlelt objektumok csúcsait az API-válaszból. A csúcsok az objektumot körülvevő határolókeret négy sarkát jelentik.
2. Rajzoljon objektumszegélyeket a csúcsok segítségével:
– Töltse be a képet a Python Pillow könyvtárával.
– Hozzon létre egy példányt az ImageDraw modulból a Pillow könyvtárból.
– Ismételje meg az egyes objektumok csúcsait, és rajzoljon egy téglalapot az ImageDraw modul "draw.rectangle" funkciójával.
– A "draw.rectangle" függvény a téglalap bal felső és jobb alsó sarkának koordinátáit veszi argumentumként.
3. Adjon hozzá megjelenített szöveget a képhez:
– Hozzon létre egy másik példányt az ImageDraw modulból.
– Iteráljon az egyes objektumok csúcsai felett, és adja hozzá a megjelenített szöveget az ImageDraw modul "draw.text" funkciójával.
– A "rajz.szöveg" függvény a szöveg pozíciójának koordinátáit és a szöveges karakterláncot veszi argumentumként.
– A "rajz.szöveg" függvényben további paraméterek megadásával testreszabhatja a szöveg betűtípusát, méretét, színét és egyéb tulajdonságait.
Íme egy példa kódrészlet, amely bemutatja a fent leírt folyamatot:
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")
Ebben a példában feltételezzük, hogy az objektumok csúcsait már megszereztük a Google Vision API-ból. Ezután betöltjük a képet a Pillow könyvtár segítségével, megrajzoljuk az objektum határait a csúcsok segítségével, és minden objektum fölé megjelenítjük a szöveget.
Ne felejtse el beállítani a kódot az egyedi igényei szerint, például a betűtípus, a betűméret és a szöveg színe szerint.
További friss kérdések és válaszok ezzel kapcsolatban Objektumhatárok rajzolása párna python könyvtár segítségével:
- Mik a "draw.line" metódus paraméterei a megadott kódban, és hogyan használják őket a csúcsértékek közötti vonalak meghúzására?
- Hogyan használható a párnakönyvtár objektumszegélyek rajzolására Pythonban?
- Mi a célja a "draw_vertices" függvénynek a megadott kódban?
- Hogyan segíthet a Google Vision API a képen lévő alakzatok és objektumok megértésében?