Opencv pythonda k-means algoritmi bilan tasvirlarga ishlov berish
K-Means algoritmi yordamida tasvirni segmentlarga ajratish
Download 0.91 Mb.
|
6 amaliy
- Bu sahifa navigatsiya:
- II. Tasvirni qayta ishlash
- III. Parametrlarni aniqlash
- IV. K-Means algoritmini qollang
1. K-Means algoritmi yordamida tasvirni segmentlarga ajratishI. Kutubxonalar va rasmlarni import qilishMatplotlib, numpy, OpenCV -ni segmentlarga bo'linadigan rasm bilan birga import qiling import matplotlib as plt import numpy as np import cv2 path = 'image.jpg' img = cv2.imread(path) II. Tasvirni qayta ishlashRGB rang maydoniga aylantirish orqali tasvirni qayta ishlash. 2D vektorga aylantirish uchun uni birinchi o'q bo'ylab o'zgartiring, ya'ni agar tasvir (100,100,3) (kenglik, balandlik, kanallar) shaklida bo'lsa, u (10000,3) ga aylanadi. Keyin, uni float ma'lumotlar turiga aylantiring. img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) twoDimage = img.reshape((-1,3)) twoDimage = np.float32(twoDimage) III. Parametrlarni aniqlashK-Means algoritmi piksellarni to'plashi kerak bo'lgan mezonlarni aniqlang."K" o'zgaruvchisi pikselga tegishli bo'lishi mumkin bo'lgan guruhlar/guruhlar sonini belgilaydi (segmentatsiya darajasini oshirish uchun siz bu qiymatni oshirishingiz mumkin). criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0) K = 2 attempts=10 IV. K-Means algoritmini qo'llangK o'zgaruvchisi tasodifiy ravishda K turli klasterlarini ishga tushiradi va "center" o'zgaruvchisi bu klasterlarning markazini aniqlaydi. Bu markazlardan har bir nuqtaning masofasi hisoblab chiqiladi va keyin ular klasterlardan biriga tayinlanadi. Keyin ular " label variable" qiymatiga ko'ra turli segmentlarga bo'linadi. ret,label,center=cv2.kmeans(twoDimage,K,None,criteria,attempts,cv2.KMEANS_PP_CENTERS) center = np.uint8(center) res = center[label.flatten()] result_image = res.reshape((img.shape)) Natija: K-Means natijasi. MATLAB matematik hisob-kitoblarni avtomatlashtirish uchun eng qadimgi, puxta ishlab chiqilgan va vaqt sinovidan o'tgan tizimlardan biri bo'lib, matritsali amallarning ilg'or tasviri va qo'llanilishiga asoslangan. Bu tizim nomining o'zida aks ettirilgan - MATrix LABoratory, ya'ni matritsa laboratoriyasi. Biroq, tizim dasturlash tilining sintaksisi shu qadar puxta o'ylanganki, bu yo'nalish matritsalarni hisoblash bilan bevosita qiziqmaydigan foydalanuvchilar tomonidan deyarli sezilmaydi. MATLAB kutubxonalari raqamli hisob-kitoblarning yuqori tezligi bilan ajralib turadi. Biroq, matritsalar nafaqat chiziqli algebra va matematik modellashtirish masalalarini echish, statik va dinamik tizimlar va ob'ektlarni hisoblash kabi matematik hisoblarda keng qo'llaniladi. Ular dinamik ob'ektlar va tizimlar uchun holat tenglamalarini avtomatik ravishda tuzish va echish uchun asosdir. Matritsalarni hisoblash apparatining universalligi bu sohadagi eng yaxshi yutuqlarni o'zida mujassam etgan MATLAB tizimiga qiziqishni sezilarli darajada oshiradi. tez yechim matritsali vazifalar. Shuning uchun MATLAB uzoq vaqtdan beri maxsus matritsa tizimi doirasidan chiqib, kompyuter matematikasining eng kuchli universal integral tizimlaridan biriga aylandi. 3-rasm. MATLAB MATLAB tizimining kamchiliklari orasida atrof-muhitning past integratsiyasini (ikkita monitorda ishlash yaxshiroq bo'lgan juda ko'p oynalar mavjud), unchalik tushunarsiz yordam tizimini (xususiy hujjatlar hajmi deyarli yetib boradi) qayd etish mumkin. 5 ming sahifa, bu ko'rishni qiyinlashtiradi) va ma'lum bir MATLAB kod muharriri -dasturlar (4-rasm). Bugungi kunda MATLAB tizimi muhandislik, fan va ta'limda keng qo'llaniladi, ammo shunga qaramay, u sof matematik hisob-kitoblarga qaraganda ma'lumotlarni tahlil qilish va hisob-kitoblarni tashkil qilish uchun ko'proq mos keladi. Foydalanilgan adabiyotlar. Image segmentation in OpenCV and Python. D.R.Xasanov,M.R.Tojiyev, O.D.Primqulov. Journal Academica Vol.10,Issue 12,December 2020. India Gonzalez Rafael C., Richard Woods E. Digital Image Processing – 2 nd edition.2012 https://machinelearningknowledge.ai/image-segmentation-in-python-opencv Download 0.91 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling