آموزش پردازش تصویر در پایتون – جلسه 10: فیلتر رنگ در ویدئو

0
647
آموزش پردازش تصویر در پایتون – جلسه 10: فیلتر رنگ در ویدئو

در قسمت نهم از مجموعه آموزشی پردازش تصویر در پایتون، گفتیم که عملگر آستانه چیست و به آموزش آن پرداختیم. با انتخاب آستانه مناسب قسمتی از تصویر که تار بود را خواناتر کردیم و در نهایت با آستانه متغیر و با متد گوسی بر روی قسمت‌های مختلف تصویر، آستانه متفاوتی اعمال کردیم و تصویر را نسبت به حالت قبل بهبود دادیم. در این قسمت قصد داریم در رابطه با فیلتر رنگ در ویدئو صحبت کنیم. در ادامه با یک فرمت متفاوت از قبل به اسم HSL آشنا می‌شویم. این فرمت بر خلاف فرمت RGB شامل، نوع رنگ، شدت رنگ، و شدت نور می‌باشد. برای توضیحات بیشتر در این رابطه ویدئوی پیوست این مقاله را مشاهده کنید. ما هم در ادامه ابتدا فرمت را از BGR به HSL تبدیل می‌کنیم و سپس در مورد فیلتر رنگ صحبت خواهیم کرد.

فیلتر رنگ در ویدئو

اگر بخواهیم یک رنگ خاص را در ویدئو فیلتر کنیم، ابتدا باید به نحوی آن رنگ را تشخیص دهیم و سپس آن را فیلتر کنیم. ما در اینجا یک محدوده تعیین کردیم و در بین این محدوده رنگ را فیلتر کردیم.

import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while(1):
_, frame = cap.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

lower_red = np.array([50, 100, 50])
upper_red = np.array([255, 255, 255])

mask = cv2.inRange(hsv, lower_red, upper_red)
res = cv2.bitwise_and(frame, frame, mask=mask)

cv2.imshow('frame', frame)
cv2.imshow('mask', mask)
cv2.imshow('res', res)

if (cv2.waitKey() & 0xFF) == 27:
break

cv2.destroyAllWindows()
cap.release()

 

پس از اینکه برنامه بالا را اجرا کردیم خروجی که از وبکم ضبط می‌شود همانند تصاویر زیر است:

 

 

این مقاله برگرفته از آموزش ویدئویی زیر می‌باشد، برای مشاهده‌ی جزئیات بیشتر حتما این ویدئو را مشاهده بفرمائید.

 

منبع :سیسوگ

مطلب قبلیپیاده سازی فیلتر دیجیتال و عملیات پردازش سیگنال DSP در آردوینو – قسمت اول
مطلب بعدیراه‌اندازی پورت VGA با FPGA (بازی تتریس)

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید