برای شناسایی بصری و برجسته کردن اشیاء شناسایی شده در یک تصویر با استفاده از کتابخانه Pillow، میتوانیم یک فرآیند گام به گام را دنبال کنیم. کتابخانه Pillow یک کتابخانه تصویربرداری قدرتمند پایتون است که طیف گسترده ای از قابلیت های پردازش تصویر را ارائه می دهد. با ترکیب قابلیتهای کتابخانه Pillow با قابلیت تشخیص اشیاء Google Vision API، میتوانیم به این وظیفه به نحو احسن دست پیدا کنیم.
در اینجا مراحل شناسایی بصری و برجسته کردن اشیاء شناسایی شده در یک تصویر با استفاده از کتابخانه Pillow آمده است:
1. نصب کتابخانه های لازم: با نصب کتابخانه های مورد نیاز شروع کنید. Pillow را با استفاده از دستور "pip install pillow" نصب کنید. علاوه بر این، باید Google Vision API را راه اندازی کنید و کتابخانه سرویس گیرنده Google Cloud را برای Python نصب کنید.
2. احراز هویت با Google Vision API: برای استفاده از Google Vision API، باید برنامه خود را احراز هویت کنید. مدارک ارائه شده توسط گوگل را دنبال کنید تا اعتبار لازم را دریافت کنید.
3. بارگذاری و تجزیه و تحلیل تصویر: از کتابخانه Pillow برای بارگذاری تصویری که می خواهید آنالیز کنید استفاده کنید. برای باز کردن فایل تصویری می توانید از روش "Image.open()" استفاده کنید. پس از بارگذاری تصویر، آن را به فرمت سازگار با Google Vision API مانند JPEG یا PNG تبدیل کنید.
4. ارسال تصویر به Google Vision API: از کتابخانه سرویس گیرنده Google Cloud برای Python برای ارسال تصویر به Google Vision API برای شناسایی شی استفاده کنید. این را می توان با ایجاد یک شی درخواست با داده های تصویر و فراخوانی روش مناسب، مانند `image_annotator_client.object_localization().annotate_image()` انجام داد.
5. بازیابی نتایج تشخیص شی: نتایج تشخیص شی را از پاسخ دریافتی از Google Vision API استخراج کنید. پاسخ حاوی اطلاعاتی در مورد اشیاء شناسایی شده، مانند جعبههای مرزی، برچسبها و امتیازات اطمینان خواهد بود.
6. ترسیم کادرهای محدود کننده روی تصویر: از کتابخانه Pillow برای ترسیم کادرهای محدود کننده در اطراف اشیاء شناسایی شده روی تصویر استفاده کنید. میتوانید از متد «ImageDraw.Draw()» برای ایجاد یک شی ترسیمی استفاده کنید، و سپس از روش «draw.rectangle()» برای ترسیم کادرهای محدودکننده استفاده کنید.
7. افزودن برچسب و امتیاز به تصویر: برای افزایش تجسم، می توانید برچسب ها و امتیازات اطمینان را به تصویر اضافه کنید. از روش «draw.text()» از کتابخانه Pillow برای همپوشانی برچسب ها و امتیازات روی تصویر استفاده کنید.
8. ذخیره و نمایش تصویر حاشیه نویسی: تصویر حاشیه نویسی را با استفاده از روش «Image.save()» از کتابخانه Pillow ذخیره کنید. می توانید فرمت مورد نظر مانند JPEG یا PNG را انتخاب کنید. به صورت اختیاری، تصویر حاشیه نویسی را با استفاده از روش «Image.show()» نمایش دهید.
با دنبال کردن این مراحل، می توانید با استفاده از کتابخانه Pillow اشیاء شناسایی شده در یک تصویر را به صورت بصری شناسایی و برجسته کنید. ترکیبی از قابلیتهای پردازش تصویر قدرتمند Pillow و قابلیت تشخیص شی Google Vision API امکان تجزیه و تحلیل کارآمد و دقیق تصاویر را فراهم میکند.
مثال:
python from PIL import Image, ImageDraw from google.cloud import vision # Load and analyze the image image_path = 'path/to/your/image.jpg' image = Image.open(image_path) image_data = image.tobytes() # Authenticate with the Google Vision API client = vision.ImageAnnotatorClient.from_service_account_json('path/to/your/credentials.json') # Send the image to the Google Vision API for object detection response = client.object_localization(image=vision.Image(content=image_data)) objects = response.localized_object_annotations # Draw bounding boxes on the image draw = ImageDraw.Draw(image) for obj in objects: bbox = obj.bounding_poly.normalized_vertices draw.rectangle([(bbox[0].x * image.width, bbox[0].y * image.height), (bbox[2].x * image.width, bbox[2].y * image.height)], outline='red', width=3) # Add labels and scores to the image label = obj.name score = obj.score draw.text((bbox[0].x * image.width, bbox[0].y * image.height - 15), f'{label} ({score:.2f})', fill='red') # Save and display the annotated image annotated_image_path = 'path/to/save/annotated_image.jpg' image.save(annotated_image_path) image.show()
در این مثال ابتدا تصویر را با استفاده از کتابخانه Pillow بارگذاری و آنالیز می کنیم. سپس، با Google Vision API احراز هویت میکنیم و تصویر را برای تشخیص شی ارسال میکنیم. ما نتایج تشخیص اشیاء را بازیابی می کنیم و از کتابخانه Pillow برای ترسیم کادرهای محدود اطراف اشیاء شناسایی شده روی تصویر استفاده می کنیم. علاوه بر این، ما برچسب ها و امتیازات اطمینان را به تصویر اضافه می کنیم. در نهایت تصویر مشروح را ذخیره و نمایش می دهیم.
سایر پرسش ها و پاسخ های اخیر در مورد درک تصاویر پیشرفته:
- چند دسته از پیش تعریف شده برای تشخیص شی در Google Vision API چیست؟
- روش توصیه شده برای استفاده از ویژگی تشخیص جستجوی ایمن در ترکیب با سایر تکنیک های تعدیل چیست؟
- چگونه می توانیم به مقادیر احتمال برای هر دسته در حاشیه نویسی جستجوی ایمن دسترسی داشته باشیم و آن را نمایش دهیم؟
- چگونه می توانیم حاشیه نویسی جستجوی ایمن را با استفاده از Google Vision API در پایتون بدست آوریم؟
- پنج دسته شامل ویژگی تشخیص جستجوی ایمن چیست؟
- ویژگی جستجوی ایمن Google Vision API چگونه محتوای صریح درون تصاویر را تشخیص میدهد؟
- چگونه می توانیم اطلاعات شی استخراج شده را در قالب جدولی با استفاده از قاب داده پانداها سازماندهی کنیم؟
- چگونه می توانیم تمام حاشیه نویسی های شی را از پاسخ API استخراج کنیم؟
- از چه کتابخانه ها و زبان برنامه نویسی برای نشان دادن عملکرد Google Vision API استفاده می شود؟
- Google Vision API چگونه تشخیص و محلی سازی اشیاء را در تصاویر انجام می دهد؟
مشاهده سوالات و پاسخ های بیشتر در درک تصاویر پیشرفته