آموزش پردازش تصویر در پایتون – جلسه 13: تشخیص گوشه‌ها

0
815
آموزش پردازش تصویر در پایتون – جلسه 12: الگویابی

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

اینکه در یک تصویر گوشه‌ها شامل چه چیزی می‌شود به نظرم واضح است و نیازی به توضیح ندارد. ما در ادامه برنامه‌ای خواهیم نوشت که گوشه‌ها در تصویر به وضوح معلوم خواهند بود.

 

import cv2
import numpy as np

img = cv2.imread('corner.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)

corners = cv2.goodFeaturesToTrack(gray, 200, 0.1, 10)
corners = np.int32(corners)

for corner in corners:
x, y = corner.ravel()
cv2.circle(img, (x,y), 3, (0, 255, 255), 1)

cv2.imshow('corners', img)

cv2.waitKey(0)

 

همانطور که در کد بالا مشاهده می‌کنید ما با استفاده از دستور goodFeaturesToTrack از کتابخانه opencv توانستیم گوشه‌ها را با توجه به تصویری که در ادامه خواهید دید به درستی تشخیص دهیم.

در دستور goodFeaturesToTrack، تعداد نقاط، فاصله‌ی این نقاط و دقتی برای اینکه گوشه‌ها به درستی تشخیص داده شوند قابل اعمال است.

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

پس از اینکه تشخیص گوشه‌ها انجام شد، با کشیدن مستطیلی دور این گوشه‌ها آن‌ها را نمایش خواهیم داد.

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

 

تشخیص گوشه ها
تشخیص گوشه ها

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

 

 

 

 

 

 

 

منبع:سیسوگ

مطلب قبلیآرایه‌ها در VHDL
مطلب بعدیبرد آموزشی و متن باز داتکس (Dotex)، همراه با شماتیک و PCB

پاسخ دهید

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