در قسمت دهم از مجموعه آموزشی پردازش تصویر در پایتون، در رابطه با فیلتر رنگ در ویدئو صحبت کردیم و با متدهایی توانستیم رنگ مورد نظر را در ویدئو پیدا کنیم و آن رنگ خاص را فیلتر کنیم. در این قسمت قصد داریم دربارهی تشخیص لبهها صحبت کنیم.
تشخیص لبهها
تشخیص لبهها به ما این امکان را میدهد تا بتوانیم حد و محدودهی، اشیا مختلف، نوشته و کلا هر چیز دیگری را در ویدئو یا عکس پیدا کنیم. تشیخص لبهها از کارهای بسیار پرکاربرد در پردازش تصویر میباشد.
import cv2 import numpy as np cap = cv2.VideoCapture(0) while(1): _, frame = cap.read() laplacian = cv2.Laplacian(frame, cv2.CV_8U) sobelx = cv2.Sobel(frame, cv2.CV_8U, 1, 0, ksize=5) sobely = cv2.Sobel(frame, cv2.CV_8U, 0, 1, ksize=5) canny = cv2.Canny(frame, 100 , 200) cv2.imshow('original', frame) cv2.imshow('laplacian', laplacian) cv2.imshow('sobelx', sobelx) cv2.imshow('sobely', sobely) cv2.imshow('canny', canny) k = cv2.waitKey(0) & 0xFF if (k == 27): break cv2.destroyAllWindows() cap.release()
همانطور که در کد بالا مشاهده میکنید به عنوان اولین روش، ما از الگوریتم laplacian استفاده کردیم تا بتوانیم لبهای تصویر را تشخیص بدهیم. پس از اجرای این الگوریتم لبههای تصویر به خوبی تشخیص داده میشوند و از بقیه تصویر مجزا میشود. از الگوریتمهای دیگری برای تشخیص لبهها نیز استفاده کردیم که هر کدام کاربرد خواص خود را دارند و در جای خود استفاده میشوند. شما میتوانید توضیحات کامل را در ویدئو ببینید.
پس از اینکه الگوریتمهای متفاوت را بر روی ویدئو اعمال کردیم، ویدئو را در پنجرههای جداگانهای در خروجی نمایش میدهیم. نتایج خروجی را در تصاویر زیر مشاهده میکنید:
این مقاله برگرفته از آموزش ویدئویی زیر میباشد، برای مشاهدهی جزئیات بیشتر حتما این ویدئو را مشاهده بفرمائید.
منبع: سیسوگ