جستجو برای:
سبد خرید 0
  • خانه
  • بسته‌های آموزش‌ها
  • مقالات آموزشی
  • رویدادها
  • محصولات
  • تماس با ما
    • مشهد - شهرک غرب - ساختمان اکسین
      051-36000050
      info@pronesh.ir
      اینستاگرام
      کانال تلگرام
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در سیاست حفظ حریم خصوصی ما شرح داده می شود مورد استفاده قرار می گیرد.

رسانه آموزشی پرونش
  • خانه
  • بسته‌های آموزش‌ها
  • مقالات آموزشی
  • رویدادها
  • محصولات
  • تماس با ما
    • مشهد - شهرک غرب - ساختمان اکسین
      051-36000050
      info@pronesh.ir
      اینستاگرام
      کانال تلگرام
شروع یادگیری
0

آموزش مقدماتی پردازش تصویر در پایتون

برنامه نویسی، هوش مصنوعی

پردازش تصویر یکی از حوزه‌های جذاب و کاربردی در دنیای برنامه‌نویسی است که به شما امکان می‌دهد تصاویر را تحلیل، دستکاری و بهبود دهید. در این مقاله، قصد داریم با استفاده از زبان برنامه‌نویسی پایتون و کتابخانه‌های قدرتمندی مانند OpenCV و NumPy ، مفاهیم پایه‌ای پردازش تصویر را به صورت عملی و پروژه‌محور آموزش دهیم.

 

سرفصل‌ها

  1. معرفی کتابخانه‌ها و نصب آن‌ها
  2. خواندن و نمایش تصویر
  3. تبدیل تصویر به سیاه و سفید (Grayscale)
  4. اعمال فیلترها و تغییر اندازه تصویر
  5. تشخیص لبه‌ها با الگوریتم Canny
  6. پروژه عملی: شمارش اشیاء در تصویر

1. معرفی کتابخانه‌ها و نصب آن‌ها

کتابخانه OpenCV

OpenCV (Open Source Computer Vision Library) یکی از معروف‌ترین کتابخانه‌ها برای پردازش تصویر و بینایی ماشین است. این کتابخانه شامل توابعی برای خواندن، نوشتن، تغییر و تحلیل تصاویر است.

 

کتابخانه NumPy

NumPy یک کتابخانه قدرتمند برای کار با آرایه‌های چندبعدی است. در پردازش تصویر، تصاویر به صورت آرایه‌های عددی ذخیره می‌شوند و NumPy ابزارهایی برای دستکاری این آرایه‌ها فراهم می‌کند.

 

نصب کتابخانه‌ها

برای شروع، باید کتابخانه‌های مورد نیاز را نصب کنید. این کار را می‌توانید با دستورات زیر انجام دهید:

				
					pip install opencv-python
pip install numpy
				
			

2. خواندن و نمایش تصویر

اولین قدم در پردازش تصویر، خواندن تصویر از فایل و نمایش آن است. برای این کار از تابع ()cv2.imread برای خواندن تصویر و ()cv2.imshow برای نمایش آن استفاده می‌کنیم.

 

کد نمونه:

				
					import cv2

# خواندن تصویر
image = cv2.imread('image.jpg')

# نمایش تصویر
cv2.imshow('Original Image', image)

# منتظر ماندن تا کلیدی فشار داده شود
cv2.waitKey(0)

# بستن تمام پنجره‌ها
cv2.destroyAllWindows()
				
			

توضیحات:

  • cv2.imread('image.jpg'): تصویر را از فایل می‌خواند.
  • cv2.imshow('Original Image', image): تصویر را در یک پنجره نمایش می‌دهد.
  • cv2.waitKey(0): برنامه را منتظر می‌کند تا کاربر کلیدی فشار دهد.
  • ()cv2.destroyAllWindows: تمام پنجره‌های باز را می‌بندد.

3. تبدیل تصویر به سیاه و سفید (Grayscale)

تصاویر سیاه و سفید (Grayscale) برای بسیاری از عملیات پردازش تصویر مفید هستند، زیرا محاسبات روی آن‌ها ساده‌تر است.

 

کد نمونه:

				
					import cv2

# خواندن تصویر
image = cv2.imread('image.jpg')

# تبدیل تصویر به سیاه و سفید
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# نمایش تصویر سیاه و سفید
cv2.imshow('Grayscale Image', gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
				
			

توضیحات:

  • cv2.cvtColor(image, cv2.COLOR_BGR2GRAY): تصویر رنگی را به سیاه و سفید تبدیل می‌کند.

4. اعمال فیلترها و تغییر اندازه تصویر

تغییر اندازه تصویر

برای تغییر اندازه تصویر، از تابع cv2.resize() استفاده می‌کنیم.

 

کد نمونه:

				
					import cv2

# خواندن تصویر
image = cv2.imread('image.jpg')

# تغییر اندازه تصویر
resized_image = cv2.resize(image, (300, 300))

# نمایش تصویر تغییر اندازه‌یافته
cv2.imshow('Resized Image', resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
				
			

اعمال فیلتر Blur

فیلتر Blur برای محو کردن تصویر استفاده می‌شود و معمولاً برای کاهش نویز تصویر کاربرد دارد.

 

کد نمونه:

				
					import cv2

# خواندن تصویر
image = cv2.imread('image.jpg')

# اعمال فیلتر Blur
blurred_image = cv2.GaussianBlur(image, (15, 15), 0)

# نمایش تصویر محو‌شده
cv2.imshow('Blurred Image', blurred_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
				
			

5. تشخیص لبه‌ها با الگوریتم Canny

تشخیص لبه‌ها یکی از مهم‌ترین مراحل در بسیاری از پروژه‌های بینایی ماشین است. الگوریتم Canny یکی از معروف‌ترین روش‌ها برای تشخیص لبه‌ها است.

 

کد نمونه:

				
					import cv2

# خواندن تصویر
image = cv2.imread('image.jpg')

# تبدیل تصویر به سیاه و سفید
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# تشخیص لبه‌ها با الگوریتم Canny
edges = cv2.Canny(gray_image, 100, 200)

# نمایش تصویر با لبه‌های تشخیص‌داده‌شده
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
				
			

توضیحات:

  • cv2.Canny(gray_image, 100, 200): الگوریتم Canny را برای تشخیص لبه‌ها اعمال می‌کند. مقادیر 100 و 200 حداقل و حداکثر آستانه‌ها هستند.

6. پروژه عملی: شمارش اشیاء در تصویر

در این پروژه، قصد داریم تعداد اشیاء موجود در یک تصویر را شمارش کنیم. برای این کار از مفاهیمی مانند تبدیل تصویر به سیاه و سفید، تشخیص لبه‌ها و پیدا کردن کانتورها (Contours) استفاده می‌کنیم.

 

کد نمونه:

				
					import cv2

# خواندن تصویر
image = cv2.imread('objects.jpg')

# تبدیل تصویر به سیاه و سفید
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# اعمال فیلتر Blur برای کاهش نویز
blurred_image = cv2.GaussianBlur(gray_image, (5, 5), 0)

# تشخیص لبه‌ها با الگوریتم Canny
edges = cv2.Canny(blurred_image, 50, 150)

# پیدا کردن کانتورها
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# رسم کانتورها روی تصویر اصلی
cv2.drawContours(image, contours, -1, (0, 255, 0), 2)

# نمایش تعداد اشیاء
print(f"Number of objects: {len(contours)}")

# نمایش تصویر با کانتورها
cv2.imshow('Objects', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
				
			

توضیحات:

  • ()cv2.findContours: کانتورها (خطوط بسته‌ای که اشیاء را احاطه می‌کنند) را پیدا می‌کند.
  • ()cv2.drawContours: کانتورها را روی تصویر اصلی رسم می‌کند.
  • len(contours): تعداد اشیاء (کانتورها) را نشان می‌دهد.

نتیجه‌گیری

در این مقاله، با مفاهیم پایه‌ای پردازش تصویر در پایتون آشنا شدیم و چندین پروژه عملی را انجام دادیم. از خواندن و نمایش تصویر گرفته تا تبدیل تصویر به سیاه و سفید، اعمال فیلترها، تشخیص لبه‌ها و شمارش اشیاء، همه این موارد را با استفاده از کتابخانه‌های OpenCV و NumPy پیاده‌سازی کردیم.

برچسب ها: پردازش تصویر
قبلی معرفی هوش مصنوعی ChatGPT
بعدی آموزش استفاده و ایجاد فایل JSON در پایتون

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
پشتیبانی
دسته‌ها
  • برنامه نویسی
  • عمومی
  • هوش مصنوعی
برچسب‌ها
ai ChatGPT copilot json python spyder xml آموزش ChatGPT آموزش برنامه نویسی چند نخی اسپایدر بازی دوز دستیار هوشمند سورس کد مدیریت فایل نصب هوش مصنوعی ٍExcel درپایتون پایتون پردازش تصویر پروژه پروژه c++ پروژه java پروژه python پروژه با سورس کد پروژه جاوا پروژه دفترچه تلفن پروژه سی پروژه ماشین حساب پروژه پایتون چت جی پی تی
رسانه آموزش آنلاین پرونش قصد دارد با همکاری انشارات هوش‌آموز یکی از بهترین و کاراترین مراکز آموزشی در ضمینه علوم کامپیوتر را با استفاده از منابع معتبر، به صورت کامل کاربردی و پروژه محور، با هدف آموزش جهت ورودی به بازار کار در اختیار علاقمندان قرار دهد. از شما درخواست می‌کنیم با استفاده قانونی از محصولات این سایت ما را در راستای رسیدن به این منظور یاری کنید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
خبرنامه

چیزی را از دست ندهید، ثبت نام کنید و در مورد شرکت ما مطلع باشید.

نمادها
© 1405. رسانه آموزشی پرونش Pronesh
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
سبد خرید شما