Programiranje C jezik
(1 korsinik/a gleda/ju temu) (1) Gost

Programiranje C jezik


03.06.2013 | 15:35
Treba da prebrojimo objekte na slici u C jeziku, ako moze neko malo da pomogne oko algoritma..Ideja je da gledam koji su pikseli, kada stignem do crnog piksela on gleda svoje susede i ukoliko ih nema koji su crni to je jedan objekat..
Kako definisati taj pixel, trebaju mi if uslovi i for petlje. I prilogu je posatavljena slika. Konvertovanje u binarnu nije problem, znaci radim sa binarnom slikom.
Unapred hvala
zamka8bit.png
03.06.2013 | 17:53
Vjerojatno ne baš tako kako si napisao, nego kad naiđeš na crni piksel, onda se širiš oko njega dok ne naiđeš na sve bijele i onda je to jedan objekt.
Treba ti polje (dvodimenzionalno) u koje ćeš bilježiti piksele koji su prekontrolirani (da ne bi dvaput prebrojao isti objekt). Kreneš redom s neke strane (dvije for petlje, jedna za redove, druga za stupce), svaki bijeli piksel na koji naiđeš markiraš kao prekontroliran, a svaki koji je već markiran preskačeš. Kad naiđeš na crno, pozoveš funkciju, s koordinatama piksela i argumentom n=0 (prvi ulaz).
U toj funkciji onda
- piksel markiraš kao provjeren
- ako je n=0 od tog piksela ideš na svih 8 strana i svaki put pozoveš istu funkciju (rekurzivno) s koordinatama novog piksela, a n=1 do 8 (označava smjer u kojem si krenuo)
- ako je n>0 onda provjeriš da li je crno najprije. Ako je onda opet redom ideš na 7 strana (sve osim one odakle si došao) rekurzivno
- ako nije crno, onda (ako je n=0 povećaj brojač objekata (globalna varijabla)) i završi funkciju

Dakle, rekurzivna funkcija uvijek završava kad naiđe na bijelo, ali brojač objekata poveća samo kad se odpetlja natrag do nulte razine

I to ti je to.
03.06.2013 | 17:56
Saće doć StajpZg i bacit će na mene kletvu izopćenja iz programerske crkve jer sam koristio rekurziju, a to je big no-no.
03.06.2013 | 22:44
Ja bih samo u prvom prolazu pretvorio u bijelo crne pixele koji imaju crnog susjeda desno, dolje i dolje desno. Onda bih u drugom prolazu prebrojio crne pixele.

Zatim bih provjerio algoritam i eventualno proširio ovo gore za još koji pixel, ali tek nakon testiranja.
04.06.2013 | 00:00
Hvala na odgovoru u pravu ste..
Ovo sam radio u Matlabu i to nije problem odraditi..ovu sliku prebacujem na mikrokontroler i on ce brojati objekte, ali naravno sa kodom C jezika..pokusacu da odradim ovako kako ste mi rekli..
26.06.2013 | 10:02
IgorD kaže:
Ja bih samo u prvom prolazu pretvorio u bijelo crne pixele koji imaju crnog susjeda desno, dolje i dolje desno. Onda bih u drugom prolazu prebrojio crne pixele.

Zatim bih provjerio algoritam i eventualno proširio ovo gore za još koji pixel, ali tek nakon testiranja.


Nisam skužiio zašto bi crne piksele koji imaju crne susjede pretvarao u bijele? Da nisi mislio obratno?
26.06.2013 | 10:34
Te crne točke mogu na slici biti predstavljene sa dva, tri ili više crnih pixela koji se nalaze jedan uz drugi. Kad sve te nakupine crnih pixela svedeš na samo jedan onda ih je lako prebrojati.
26.06.2013 | 10:45
Aha, kužim. Da, to je isto ok pristup ako ćeš zauvijek ostati samo na tome da prebrojiš crne objekte. No obično za tim slijedi zahtjev da znaš koliko je koji velik, ili da prebrojiš samo one veće od <n> kvadratnih pixela, ili da odrediš srednju napučenost površine, ili tako nešto. Mislim - to prebrojavanje crnih objekata je temeljni algoritam videoanalitike. Obično tu onda slijedi analiza pomicanja, mjerenje brzine, detekcija odstupanja od većine (npr. svi se kreću odozgo prema dolje, samo jedan u suprotnom smjeru i sl.)...
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 20 sati, 52 minuta
  • Yonkis: Kradljivci našli nov način krađe Apple proizvoda [link]
  • zoranowsky: Al me ložite :)
  • Yonkis: zoranowsky - kako reče jedan korisnik M1Pro-a: I think the sweet spot is M2 Pro as of right now. I really don't see a reason to get M3 Pro - it has lower memory bandwidth, less P-cores , and it costs more. But if you're on M1 Pro... Just don't upgrade, there is no point.
  • accom: [link]
  • accom: @zoranowsky, u krivu sam
  • accom: Mislim, da je baš M2Pro najslabiji od svih M Pro procesora, sa više energy efficiency jezgri...
  • accom: Ako često obradjuješ video, onda pro. Sam bi preferirao novije gen. CPU.
  • accom: [link]
  • accom: @zoranowsky Za sve DTP programe dosta ti je air:
  • kupus: protonvpn na 3 dolara mjesečno
  • drlovric: [link]
  • drlovric: Jako zanimljiva i pregledna lista korisnih Mac aplikacija.
  • zoranowsky: Znam, u pravu si. Imam thunderbolt 27
  • drlovric: Ako imas vanjski monitor u svakodnevnom radu, uzmi 14". Ja sam pogrijesio sa 16". Ogroman je to laptop :)
  • zoranowsky: Dilema je taj M2Pro ili odriješiti kesu i uzeti M4Pro ali s 14" ekranom (24GB/1TB)
  • zoranowsky: @accom - Affinity, Adobe CC, DaVinci Resolve. Imam trenutno 512GB u 2 MBPro-a tak da sam se navikao.
  • drlovric: Ja imam MBP sa 512 MB, nemam problem sa prostorom. Oko 300GB je puno mozda.
  • accom: @zoranowsky Sve ovisi o tome, što želiš radit s njim.
  • zoranowsky: Nije jedini stroj, to je neka donja granica, za sve ostalo imam externe ssd-e i synology
  • Yonkis: Ne nađoh jeftiniju cijenu (u RH) od toga.. A hoće li ti 512 biti dovoljno?
  • zoranowsky: Zaboravih napisati, trenutno je u HGShopu na akciji
  • zoranowsky: Jel se isplati uzeti MBPro M2pro 16" 16/512 za 2100eur?
  • gladhr2: zna netko neko rjesenje?
  • gladhr2: [link] problem sa bluetoothom i 4. uređajem :D
  • JOHN: Hvala na info
  • Yonkis: Imaš na adidas.hr ali do 28.11 stoga požuri
  • stefanjos: affinity je na 50%
  • JOHN: Ja jučer u CCOne kupio kćeri tenisice. Bile su čitavih 20% na akciji. :) Takva akcija je ustvari neka uobičajena koja se pojavi gotovo svaki mjesec tako da i ovaj put teški bulšit..
  • drlovric: Imal kakvih Black Friday popusta? :) Neko vidio nesto zanimljivo?
  • ^SuperUnknown^: Jel to samo meni potrgan layout Oglasnika? :)
  • smayoo: Nije to baš besplatan način. To sve tako radi kako si opisao, ali windowsi te upozoravaju da nisu aktivirani
  • ping: @VanjusOS ima. Downloadiraj DEMO version parallelsa za M procesrore. To će ti downloadirati windows for arm kao .iso file. Instaliraj UTM virtual machine i windowse koje si skinuo.
  • JOHN: izuzev telekom operatera i sl.
  • JOHN: to je sve ilegala
  • JOHN: Pazite se skime imate aranžamne
  • JOHN: Čini se da više neće biti IPTVa, za đabalesku ili ga više uopće neće biti u ponudi.
  • smayoo: [link]
  • stefanjos: podsjetnik svim dobrim ljudima za iparty :)
  • jmustac: poslano
  • Riba: Javi se meni s detaljima.
  • jmustac: kako obrisati profil na ovom forumu?
  • rusty: @marioart - ovisi o hipervizoru, ali ukratko da. Moguće je dobiti emulaciju x86 na ARM bare metal stroju. UTM hypervisor kojeg osobno koristim nudi u mogućnost. Jasno, to zovu emulacijom, ne virtualizacijom ali eto
  • marioart: @rusty .. moze li se ikako dobiti x86 win kroz virtualizaciju?
  • stefanjos: drlovric. pa odgovaranje poruka na aplikacijama koje namu mac app i ako se puni da ne secem po mob, rijesim preko maca i to je to
  • rusty: Virtualizacija bi bio moj odabir, e sada da li je besplatno ili ne, ovisi o tome kako ćeš tu kopiju licencirati
  • VanjusOS: ima li nekakav besplatni način za imati Windows na Macbook sa M čipovima?
  • drlovric: Za sta ti konkretno mirroring sluzi? Ja mu nisam nasao primjenu :/
  • stefanjos: affinty na popustu 50%. ja sam si uzeo novu licensu. do sada sam bio na v1
  • stefanjos: tako da, meni je to top feature
  • stefanjos: ja imam australski app store i iphone mirroring koristim svaki dan

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 1.67 Seconds

Provided by iJoomla SEO