Imao sam priliku da prebiram zrna kokičara, razdvajam loše od dobrih, ručno, zrno po zrno. Izuzetno dosadan i težak posao, pa sam se odmah bacio na traženje rješenja. Potražio sam na Internetu da li postoji takva mašina i našao odličnu stvar, zove se Camera Sorter, međutim ovakve mašine su skupe i prave se samo po naruđbi. Oduševio sam se kako je pametno osmišljena mašina
http://www.bestsorting.com/sorting-food/sorters/genius-optical-sorter/working-principle-of-the-genius-dual-sorter/
S obzirom da sam se nekada ranije igrao sa procesuranjem slike odlučio sam da napraivim svoj Camera Sorter. Naravno, bio sam svjestan da neće biti upotrebljiv, pogotovo ako imate velike količine. Htio sam samo da vidim da li sam sposoban da napravim :) Zrna kokiračara trebalo je da se raspoređuju po traci koja je ovom slučaju kaiš sa alternatora. Kaiš se nalazio na dva ležaja, a na jedan ležaj bio je spojen sa zupčanikom. Jedan step motor pokretao je zupčanik, a drugi je služio za izbacivanje dobrih zrna (dobro zrno je izbacivano, a loše je ostajalo na traci). Iznad trake sam smjestio običnu web kameru sa nekoliko LEDova kako bih dobio bolju osvjetljenost, a samim tim i bolju sliku.
Za kontrolu step motora zadužen je Arduino sa H mostom. Slike iz kamere prenoslila se u C# aplikaciju gdje obrađivana slika. Za obradu slike koristio sam AForge biblioteku. Program je prvo sjekao sliku na veličinu trake, pravio blobove prema boji (samo dobra zrna su naranđaste boje) i selektovao samo blobove veličine u zadatom opsegu.
Kordinate zrna koje treba izbaciti prosleđivane su Arduinu. Arduino nema biblioteku za rad sa nizovima kao što je vector u C++, a trebala mi je, pa sam morao napraviti svoju klasu. Sljedeći problem odnosio se na prosljeđivanja koridnata zrna Arduinu. Bilo je teško uzeti u obzir proklizavanje kaiša i rotiranje kamere.
http://www.bestsorting.com/sorting-food/sorters/genius-optical-sorter/working-principle-of-the-genius-dual-sorter/
S obzirom da sam se nekada ranije igrao sa procesuranjem slike odlučio sam da napraivim svoj Camera Sorter. Naravno, bio sam svjestan da neće biti upotrebljiv, pogotovo ako imate velike količine. Htio sam samo da vidim da li sam sposoban da napravim :) Zrna kokiračara trebalo je da se raspoređuju po traci koja je ovom slučaju kaiš sa alternatora. Kaiš se nalazio na dva ležaja, a na jedan ležaj bio je spojen sa zupčanikom. Jedan step motor pokretao je zupčanik, a drugi je služio za izbacivanje dobrih zrna (dobro zrno je izbacivano, a loše je ostajalo na traci). Iznad trake sam smjestio običnu web kameru sa nekoliko LEDova kako bih dobio bolju osvjetljenost, a samim tim i bolju sliku.
Za kontrolu step motora zadužen je Arduino sa H mostom. Slike iz kamere prenoslila se u C# aplikaciju gdje obrađivana slika. Za obradu slike koristio sam AForge biblioteku. Program je prvo sjekao sliku na veličinu trake, pravio blobove prema boji (samo dobra zrna su naranđaste boje) i selektovao samo blobove veličine u zadatom opsegu.
Kordinate zrna koje treba izbaciti prosleđivane su Arduinu. Arduino nema biblioteku za rad sa nizovima kao što je vector u C++, a trebala mi je, pa sam morao napraviti svoju klasu. Sljedeći problem odnosio se na prosljeđivanja koridnata zrna Arduinu. Bilo je teško uzeti u obzir proklizavanje kaiša i rotiranje kamere.