Pillow Python номын сан дахь "draw_vertices" функцийг ашиглан объектын хүрээ зурах үед зураг дээр дэлгэцийн текст нэмэхийн тулд бид алхам алхмаар үйл явцыг дагаж болно. Энэ үйл явц нь Google Vision API-аас илрүүлсэн объектуудын оройг татаж авах, оройг ашиглан объектын хил хязгаарыг зурах, эцэст нь зураг дээр харуулах текстийг нэмэх явдал юм.
1. Илэрсэн объектын оройг олж авна уу:
– Зурган дээрх объектуудыг илрүүлэхийн тулд Google Vision API ашиглана уу.
– API хариултаас илэрсэн объект бүрийн оройг задлах. Оройнууд нь объектыг хүрээлж буй хязгаарлах хайрцагны дөрвөн буланг илэрхийлдэг.
2. Оройг ашиглан объектын хүрээг зур:
– Python дээрх Pillow номын санг ашиглан зургийг ачаална уу.
– Pillow номын сангаас ImageDraw модулийн жишээг үүсгэ.
– Объект бүрийн орой дээр давтаж, 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 номын санг ашиглан зургийг ачаалж, оройг ашиглан объектын хүрээг зурж, объект бүрийн дээр харуулах текстийг нэмнэ.
Үсгийн фонт, үсгийн хэмжээ, текстийн өнгө гэх мэт тусгай шаардлагад нийцүүлэн кодыг тохируулахаа бүү мартаарай.
Сүүлийн үеийн бусад асуулт, хариулт Python дэрний дэр ашиглан объектын хүрээ зурах:
- Google Vision API-г зураг дээр биш видеон дээр дэр Python номын сан бүхий объектыг илрүүлэх, шошголоход ашиглаж болох уу?
- Зураг, видеон дээр амьтдын эргэн тойронд объектын хүрээ зурж, эдгээр хүрээг тодорхой амьтны нэрээр тэмдэглэж хэрхэн хэрэгжүүлэх вэ?
- Өгөгдсөн код дахь "draw.line" аргын параметрүүд юу вэ, тэдгээрийг оройн утгуудын хооронд шугам татахад хэрхэн ашигладаг вэ?
- Python дээр объектын хүрээ зурахад дэрний санг хэрхэн ашиглах вэ?
- Өгөгдсөн кодын "draw_ortices" функцийн зорилго юу вэ?
- Google Vision API нь зураг дээрх дүрс, объектыг ойлгоход хэрхэн туслах вэ?