OpenCV (Open Source Computer Vision Library) یک کتابخانه بسیار محبوب برای پردازش تصویر و بینایی رایانهای است. در اینجا، مراحل اولیه پردازش تصویر با OpenCV در پایتون را بررسی خواهیم کرد.
همچنین با استفاده از OpenCV در فریم ورک های تحت وب مثل جنگو، پردازش تصویر رو به اپلیکیشن های تحت وب آورد، از احراز هویت در وب تا پردازش تصاویر ارسالی کاربران که در پنل خود ارسال کرده اند.
سرفصل های مقاله
۱. نصب OpenCV
برای شروع، باید OpenCV را در سیستم خود نصب کنید. میتوانید از دستور pip استفاده کنید:
pip install opencv-python
۲. بارگذاری یک تصویر
برای بارگذاری یک تصویر در OpenCV، از تابع cv2.imread() استفاده میکنیم:
import cv2
# بارگذاری تصویر
image = cv2.imread('path_to_image.jpg')
۳. نمایش تصویر
برای نمایش تصویر بارگذاری شده، میتوانید از تابع cv2.imshow() استفاده کنید:
# نمایش تصویر
cv2.imshow('Image', image)
cv2.waitKey() # منتظر ماندن برای فشار دادن کلیدی
cv2.destroyAllWindows() # بستن تمامی پنجرهها
۴. تغییر اندازه تصویر
میتوانید اندازه تصویر را با استفاده از تابع cv2.resize() تغییر دهید:
# تغییر اندازه تصویر به 300x300
resized_image = cv2.resize(image, (300, 300))
cv2.imshow('Resized Image', resized_image)
cv2.waitKey()
cv2.destroyAllWindows()
۵. تبدیل تصویر به مقیاس خاکستری
برای تبدیل تصویر به مقیاس خاکستری، از تابع cv2.cvtColor() استفاده میکنیم:
# تبدیل تصویر به مقیاس خاکستری
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray Image', gray_image)
cv2.waitKey()
cv2.destroyAllWindows()
۶. تشخیص لبهها با استفاده از Canny
میتوانید از الگوریتم Canny برای تشخیص لبههای تصویر استفاده کنید:
# تشخیص لبهها
edges = cv2.Canny(gray_image, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey()
cv2.destroyAllWindows()
۷. ذخیره تصویر
برای ذخیره تصویر پردازش شده میتوانید از تابع cv2.imwrite() استفاده کنید:
# ذخیره تصویر
cv2.imwrite('output_image.jpg', edges)
نتیجه گیری
اینها مراحل ابتدایی پردازش تصویر با OpenCV در پایتون هستند. شما میتوانید با استفاده از توابع بیشتری که OpenCV ارائه میدهد، پردازشهای پیشرفتهتری انجام دهید. OpenCV قابلیتهای زیادی مانند فیلتر کردن، تشخیص چهره، و کار با ویدیوها را پشتیبانی میکند که به شما امکان میدهد پروژههای جالبتری ایجاد کنید.