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

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

قسمت دهم : فیلتر رنگ در ویدئو

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

در ادامه با یک فرمت متفاوت از قبل به اسم 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()

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

 

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

درباره نویسنده

نویسنده و طراح الکترونیکا هستم . سوالی داشتید در کامنت ها یا پیج های اینستاگرام و تلگرام سایت بپرسید .