Pillow Python لائبریری میں "draw_vertices" فنکشن کا استعمال کرتے ہوئے آبجیکٹ بارڈرز بناتے وقت تصویر میں ڈسپلے ٹیکسٹ شامل کرنے کے لیے، ہم مرحلہ وار عمل کی پیروی کر سکتے ہیں۔ اس عمل میں گوگل ویژن API سے دریافت شدہ آبجیکٹ کے عمودی حصے کو بازیافت کرنا، عمودی کا استعمال کرتے ہوئے آبجیکٹ کی سرحدیں کھینچنا، اور آخر میں تصویر میں ڈسپلے ٹیکسٹ شامل کرنا شامل ہے۔
1. دریافت شدہ اشیاء کی چوٹیوں کو بازیافت کریں:
- تصویر میں موجود اشیاء کا پتہ لگانے کے لیے گوگل ویژن API کا استعمال کریں۔
- API کے جواب سے ہر ایک دریافت شدہ آبجیکٹ کے عمودی حصے کو نکالیں۔ عمودی باؤنڈنگ باکس کے چاروں کونوں کی نمائندگی کرتے ہیں جو آبجیکٹ کو گھیرے ہوئے ہیں۔
2. عمودی خطوط کا استعمال کرتے ہوئے آبجیکٹ کی سرحدیں کھینچیں:
- Python میں Pillow لائبریری کا استعمال کرتے ہوئے تصویر کو لوڈ کریں۔
- تکیہ لائبریری سے امیج ڈرا ماڈیول کی ایک مثال بنائیں۔
- ہر شے کے عمودی حصے پر اعادہ کریں اور امیج ڈرا ماڈیول سے "draw.rectangle" فنکشن کا استعمال کرتے ہوئے ایک مستطیل کھینچیں۔
- "draw.rectangle" فنکشن مستطیل کے اوپری بائیں اور نیچے دائیں کونوں کے نقاط کو بطور دلیل لیتا ہے۔
3. تصویر میں ڈسپلے ٹیکسٹ شامل کریں:
- امیج ڈرا ماڈیول کی ایک اور مثال بنائیں۔
- ہر آبجیکٹ کے عمودی حصوں پر اعادہ کریں اور امیج ڈرا ماڈیول سے "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 سے حاصل کیے جا چکے ہیں۔ پھر ہم تکیہ لائبریری کا استعمال کرتے ہوئے تصویر کو لوڈ کرتے ہیں، عمودی خطوط کا استعمال کرتے ہوئے آبجیکٹ کی سرحدیں کھینچتے ہیں، اور ہر چیز کے اوپر ڈسپلے ٹیکسٹ شامل کرتے ہیں۔
کوڈ کو اپنی مخصوص ضروریات کے مطابق ایڈجسٹ کرنا یاد رکھیں، جیسے کہ فونٹ، فونٹ کا سائز، اور متن کا رنگ۔
سے متعلق دیگر حالیہ سوالات اور جوابات تکیا ازگر لائبریری کا استعمال کرتے ہوئے آبجیکٹ کی سرحدیں کھینچنا:
- فراہم کردہ کوڈ میں "draw.line" کے طریقہ کار کے پیرامیٹرز کیا ہیں، اور انہیں عمودی اقدار کے درمیان لکیریں کھینچنے کے لیے کیسے استعمال کیا جاتا ہے؟
- تکیے کی لائبریری کو ازگر میں آبجیکٹ کی سرحدیں کھینچنے کے لیے کیسے استعمال کیا جا سکتا ہے؟
- فراہم کردہ کوڈ میں "draw_vertices" فنکشن کا مقصد کیا ہے؟
- گوگل ویژن API تصویر میں اشکال اور اشیاء کو سمجھنے میں کس طرح مدد کر سکتا ہے؟