جلسه ششم: یافتن لبه ها و مرز ها در openCV + Python

جلسه ششم: یافتن لبه ها و مرز ها در openCV + Python

  buy_icon  

در این پست به صورت مختصر دستورات مهم همراه با نمونه برنامه برای یافتن مرز و کانتور در اپن سی وی با زبان پایتون برای شما آماده کرده ام.

 

یافتن لبه ها با استفاده از فیلتر لاپلاسین در اپن سی وی به صورت زیر است:

cv2.Laplacian(img,cv2.CV_64F,3)

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

 

یافتن لبه ها با استفاده از فیلتر سوبل در اپن سی وی به صورت زیر است :

cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)

آرگومان اول تصویر ورودی ، آرگومان دوم عمق تصویر خروجی، آرگومان سوم پرچم جهت x، آرگومان چهارم پرچم جهت y و آرگومان پنجم اندازه پنجره فیلتر است. (پرچم به این معناست که در صورت یک شدن آن گزینه فعال می شود). در مثال بالا فیلتر سوبل در جهت x عمل می کند.

 

یافتن لبه ها با استفاده از فیلتر کنی (canny) در اپن سی وی به صورت زیر است:

cv2.Canny(img,50,200)

آرگومان اول تصویر ورودی است، آرگومان دوم مقدار آستانه اول، آرگومان سوم مقدار آستانه دوم است.

 

نمونه کد برنامه ای زیر جهت یافتن لبه ها با روش های بالا با زبان پایتون :

 

 

پیدا کردن مرز های پیوسته (کانتور) در اپن سی وی با دستور زیر است:

cv2.findContours(img,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

آرگومان اول تصویر ورودی است (بهتر است ابتدا ناحیه بندی صورت بگیرد و سپس تصویر باینری ورودی داده شود)، آرگومان دوم حالت کانتور است، آرگومان سوم روش یافتن کانتور است.

نمونه برنامه یافتن کانتور در اپن سی وی با زبان پایتون :

 

تصویر ورودی

shape3

تصویر کانتورها

contours

در صورت استفاده از مطالب این سایت لطفا به سایت ارجاع دهید

دیدگاه شما

( الزامي )

(الزامي)