PDA

View Full Version : corner detection



JalaliMehr
پنج شنبه 14 اردیبهشت 1391, 12:19 عصر
http://barnamenevis.org/asset.php?fid=83664&uid=149256&d=1336033062
سلام
این نقاطی که اطراف جعبه رسم شده با الگوریتم cornerHarris بدست آمده .
حال سوال اینجاست که چظور من فقط گوشه ها رو داشته باشم نه این همه نقاط.

مصطفی ساتکی
یک شنبه 17 اردیبهشت 1391, 00:03 صبح
این نقاط موجود را در یک آرایه ریخته و سپس convex hull رو بدست بیارید پس از بدست آوردن convex hull چندین راه حل وجود داره که گوشه های واقعی رو پیدا کنید
اولین روش می تونه روش های line approximation باشه که یکی از روش های معروف Douglas-Peucker هستش میاد خطوط موجود تقریب میزنه و دقیقاً key point ها میشه در واقع همون کرنر های واقعی که شما آنها را نیاز دارید.البته این روش مساحت زیر چند ضلغی وابسته هستش ولی تو این مسئله چون منحنی وجود نداره با هر پارامتری جواب برای خطوط یکسان هستش
روش دوم این هستش که تغییرات مشتق جهتی(گرادیان) را بررسی کنید اگر تغییرات در 2 جهت متعامد باشد می توان گفت که نقطه مورد نظر کرنر می باشد.
بطوریکه کلیه نقاط مربوط به convex hull را بررسی نماییم و در هر نقطه شیب خط از 2 نقطه قبل تا نقطه جاری و شیب خط از نقطه جاری تا 2 نقطه بعد را بدست آوریم سپس این شیب ها را مقایسه نمایم اگر متعامد باشند نقطه جاری کرنر می باشد