Tasvir qirralarini ajratish
Maqsadlar
• Ushbu darsda siz Oddiy ostonalar, Adaptive osteshing, Otsu ostonalarini va boshqalarni o'rganasiz.
• Siz ushbu funktsiyalarni bilib olasiz: cv2.threshold, cv2.adaptiveThreshold va boshqalar.
Oddiy qirralar
Bu erda masala to'g'ri. Agar piksel qiymati pol qiymatidan katta bo'lsa, unga bitta qiymat beriladi (oq bo'lishi mumkin), aks holda unga boshqa qiymat beriladi (qora bo'lishi mumkin). Amaldagi funktsiya - bu cv2.threshold. Birinchi dalil bu kulrang rangdagi rasm bo'lishi kerak bo'lgan manba tasvir. Ikkinchi dalil - bu tasniflash uchun ishlatiladigan pol qiymat piksel qiymatlari. Uchinchi dalil - bu maksimal qiymat, agar piksel qiymati ortiq bo'lsa, berilgan qiymatni bildiradi chegara qiymati (ba'zan kamroq). OpenCV turli xil usullarni taqdim etadi va ular tomonidan belgilanadi funktsiyaning to'rtinchi parametri. Turli xil turlari:
• cv2.THRESH_BINARY
• cv2.THRESH_BINARY_INV
• cv2.THRESH_TRUNC
• cv2.THRESH_TOZERO
• cv2.THRESH_TOZERO_INV
Hujjatlar har bir tur nimani anglatishini aniq tushuntiradi. Iltimos, hujjatlarni ko'rib chiqing.
Ikkita natija olinadi. Birinchisi, bu keyinchalik tushuntiriladigan retval. Ikkinchi chiqish - bu bizning ostonadagi rasmimiz.
Kod:
Izoh: Bir nechta rasmlarni chizish uchun biz plt.subplot () funktsiyasidan foydalanganmiz. Iltimos, ko'proq ma'lumot olish uchun Matplotlib hujjatlarini belgilang.
Natija quyida keltirilgan:
Adaptiv qirralar
Oldingi bo'limda biz global qiymat sifatida pol qiymatidan foydalanganmiz. Ammo hamma sharoitda bu yaxshi bo'lmasligi mumkin
tasvir turli sohalarda turli xil yorug'lik sharoitlariga ega. Bunday holda biz moslashuv chegarasiga o'tamiz. Bunda
algoritm tasvirning kichik hududlari uchun pol qiymatini hisoblaydi. Shunday qilib, biz turli mintaqalar uchun turli xil pol qiymatlarini olamiz
bir xil tasvir va bu bizga turli xil yoritilgan rasmlar uchun yaxshiroq natijalarni beradi.
Unda uchta "maxsus" kirish parchasi va faqat bitta chiqish argumenti mavjud.
Adaptiv usul - bu chegara qiymati qanday hisoblanganligini hal qiladi.
• cv2.ADAPTIVE_THRESH_MEAN_C: pol qiymat mahalla maydoni degani.
• cv2.ADAPTIVE_THRESH_GAUSSIAN_C: pol qiymat mahalla qiymatlarining tortilgan yig'indisidir.
bu erda og'irliklar gaussian oynasi.
Blok hajmi - bu mahalla hududining hajmini belgilaydi.
C - bu shunchaki doimiy yoki hisoblangan o'rtacha qiymatdan chiqariladi.
Kodning pastki qismida turli xil yoritgichli rasm uchun global chegara va moslashuvchan chegaralarni taqqoslash mumkin:
Natija:
Do'stlaringiz bilan baham: |