Imagenes sin contorno

Imagenes sin contorno

✍ Filtriranje obrisov opencv python

Ta korak je lahko zelo enostaven ali pa zelo težaven, odvisno od vaše aplikacije. In čeprav težko ugibam, zakaj bi želeli s slike odstraniti obrisno območje, vam bom v preostanku tega prispevka pokazal, kako odstraniti obrise s slike s pomočjo primera igrače. Zdaj lahko vzamete to kodo in spremenite merila za odstranjevanje obrisov, da bodo ustrezala vašim potrebam.
V tem igričarskem primeru želimo ohraniti pravokotnike, medtem ko želimo z zgornje slike odstraniti kroge in elipse. To bi dosegli tako, da bi za vsak obris izvedli preskus, s katerim bi se odločili, ali ga je treba odstraniti ali ne.
V vrstici 6 opredelimo našo funkcijo is contour bad. Ta funkcija skrbi za izvajanje koraka 3 in določa merila za označevanje obrisa kot “slabega” in njegovo odstranitev s slike.
Prav to storijo vrstice 7-11. Vrstici 8 in 9 približata obris, vrstica 12 pa vrne logično vrednost, ki označuje, ali je treba obris izpustiti ali ne. Če ima aproksimacija štiri točke (vrhove), bo obris v tem primeru ohranjen, kar pomeni, da je obris pravokotnik.

😺 Poiščite največji obris opencv python

Ta članek prikazuje, kako izluščiti (ekstrahirati) človeško telo z uporabo OpenCV ter (1) standardne RGB kamere in (2) globinske kamere. Predstavljeni koncepti niso omejeni na človeška telesa in jih je mogoče uporabiti za ekstrakcijo katere koli vrste predmeta v ospredju iz konteksta.
2. Za ustvarjanje maske slike telesa uporabite binarno praženje. Upoštevajte, da če slika vsebuje več kot en predmet v ospredju, boste morda morali uporabiti funkcijo findcontours programa OpenCV, da izločite največji obris.
Celoten potek dela je prikazan v spodnjem diagramu. Najprej je treba posneti fotografijo “ozadja” (brez objekta). Telo lahko odkrijete tako, da od slike ozadja odštejete globinske slike. Slika se nato dodatno obdela, da se odstrani šum, pridobi največji obris in ustvari maska. Na koncu se globinska slika zamaskira z uporabo te maske.
3. Opazili boste, da ima globinska kamera veliko šuma na robovih ovir (po vsej sliki), zato za njegovo odstranitev uporabimo mediani filter za izračun globine človeškega telesa na vseh globinskih slikah (alternativa: srednji filter). Nato za filtriranje teh vrednosti šuma uporabimo srednjo vrednost globine telesa. Da bi ustvarili sliko maske, nastavimo vse preostale piksle na ena.

😛 Odstranjevanje majhnih obrisov opencv python

(‘Initial Contour Location’) title(‘Initial Contour Location’) title(‘Initial Contour

🤱 Območje obrisov opencv

Sliko segmentirajte z uporabo funkcije activecontour. Funkcija razvija segmentacijo v 100 iteracijah. activecontour(I,maska); bw = activecontour(I,maska); Prikaži rezultat. Objekti po 100 iteracijah niso popolnoma ločeni od konteksta, ker začetni obris ni podoben mejam objekta. improve (bw)
title(“100 iteracij segmentirane slike”)
Povečajte število iteracij, da se segmentacija še naprej spreminja. Objekti so popolnoma segmentirani iz konteksta po 300 iteracijah. imshow = activecontour(I,mask,300); bw = activecontour(I,mask,300); (I) Z orodjem drawrectangle ustvarite začetni obris blizu predmeta, ki vas zanima. Po narisanju obrisa izdelajte masko s funkcijo createMask. createMask(r), r = drawrectangle, r = createMask(r), r = createMask(r), r = createMa Z uporabo metode ‘edge’ in 200 iteracij razčlenite sliko. activecontour(I,mask,200,’edge’); bw = activecontour(I,mask,200,’edge’); Prekrijte končni obris z rdečo barvo na izvirno sliko. nadaljuj;

💚 Zaznavanje kontur pri obdelavi slik

Imam na stotine slik PNG, za katere moram ustvariti ustrezne črno-bele slike, ki prikazujejo zunanji obris predmeta. Ker ima izvorna slika PNG kanal alfa, so območja slike brez predmeta popolnoma prozorna.
Težavno je, da morebitne vrzeli v objektu ne smejo biti vidne v obrisu. Če je izvorna slika na primer krof, bi bila ustrezna obrisna slika nazobčana okrogla črta brez koncentrične manjše črte v sredini.
Amgaera ima prav. Če želite poiskati obrise, je OpenCV v Pythonu eno najboljših orodij, ki jih lahko uporabite. Uporabite metodo findContours in zastavico RETR EXTERNAL, da dobite najbolj zunanji obris oblike, tako kot je to storil v svojem članku. Tukaj je nekaj kode, ki jo lahko uporabite za prikaz te točke. Za začetek morate namestiti programa OpenCV in NumPy.
Ni pomembno, ali so vaše fotografije v formatu PNG ali imajo alfa kanal. Do kanala alfa nam ni treba dostopati, dokler ta slika vsebuje samo eno stvar. Ko prenesete to datoteko, jo shranite kot donut.png in zaženite naslednjo kodo:

Compartir
Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad