Rozpoznávanie čiarových kódov: Rozdiel medzi revíziami
Z SensorWiki
(Vytvorená stránka „ Inšpirovať sa môžete napríklad týmto LEGO strojom na meranie ohniskovej vzdialenosti šošoviek: https://youtu.be/0kHhbRbAFlc“) |
|||
(Jedna medziľahlá úprava od rovnakého používateľa nie je zobrazená.) | |||
Riadok 1: | Riadok 1: | ||
+ | Modifikované cvičenie na DOMA: | ||
+ | '''Úloha č. 1:''' | ||
+ | |||
+ | Nájdite doma ľubovoľnú šošovku a odmerajte jej ohniskovú vzdialenosť. Metódu merania si vymyslite, meranie a jeho výsledky | ||
+ | zdokumentujte a nahrajte do classroomu. | ||
Inšpirovať sa môžete napríklad týmto LEGO strojom na meranie ohniskovej vzdialenosti šošoviek: https://youtu.be/0kHhbRbAFlc | Inšpirovať sa môžete napríklad týmto LEGO strojom na meranie ohniskovej vzdialenosti šošoviek: https://youtu.be/0kHhbRbAFlc | ||
+ | |||
+ | |||
+ | '''Úloha č. 2:''' | ||
+ | |||
+ | Pomocou kamery vo svojom notebooku alebo mobile rozpoznajte čo najviac z týchto čiarových kódov. Za každý rozpoznaný kód je jeden bod. | ||
+ | |||
+ | [[Súbor:CameraLineSensorSample.png]] | ||
+ | |||
+ | Návod: | ||
+ | |||
+ | Prepojenie kamery a spracovanie obrázku v Processingu už viete z minulého cvičenia. Nižšie máte ukážkový program, ktorý zobrazí v okne | ||
+ | okrem obrazu z kamery aj úroveň jasu jedného (prostredného) riadku. Úroveň jasu (brightness) sa pohybuje od 0 (čierna) po 255 (biela). | ||
+ | Obraz z kamery viete v okne zapnúť/vypnúť klávesou 'c'. | ||
+ | |||
+ | [[Súbor:CameraLineSensorExample1.jpg]] | ||
+ | |||
+ | Čo ďalej? | ||
+ | |||
+ | Stanovte si nejakú rozhodovaciu úroveň (threshold), od ktorej vyššie budete považovať farbu za bielu, a od ktorej nižšie za čiernu. | ||
+ | Tým dostanete riadok hodnôt len s dvoma hodnotami - čiernou a bielou, napr. 0 a 1. | ||
+ | |||
+ | [[Súbor:CameraLineSensorExample2.jpg]] | ||
+ | |||
+ | Nás teraz zaujíma počet pásikov v obraze. Jedna možnosť ako to spočítať, je zistiť, koľko zmien 0->1 sa v poli nachádza. | ||
+ | Mimochodom - zmena je vlastne derivácia, ktorá sa v diskrétnom priestore spočíta ako rozdiel dvoch po sebe idúcich hodnôt. | ||
+ | Môžete teda pole "zderivovať" a potom už len spočítať, koľko je tam kladných zmien (a prípadne pre istotu porovnať, či | ||
+ | je tam aj rovnaký počet záporných zmien). Týmto postupom viete zistiť, koľko čiernych prúžkov v obrázku máte a nebude to | ||
+ | ani závislé od ich šírky. | ||
+ | |||
+ | Ak chcete naviac porovnať aj šírku pásikov, pomôže vám domáca úloha z Repl.it. | ||
+ | |||
+ | |||
+ | Pozn. 1: možno bude rozpoznávanie spoľahlivejšie, ak zahodíte zopár pixelov na oboch okrajoch obrazu. | ||
+ | |||
+ | Pozn. 2: úlohy nie je nevyhnutné riešiť v Processingu, môžete použiť ľubovoľný programovací jazyk a prostredie, v ktorom viete pracovať. | ||
+ | |||
+ | |||
+ | [[MEMS inteligentné senzory a aktuátory#Cvi.C4.8Denia|Návrat na zoznam cvičení...]] | ||
+ | |||
+ | [[Category:MEMS]] |
Verzia zo dňa a času 09:56, 22. marec 2020
Modifikované cvičenie na DOMA:
Úloha č. 1:
Nájdite doma ľubovoľnú šošovku a odmerajte jej ohniskovú vzdialenosť. Metódu merania si vymyslite, meranie a jeho výsledky zdokumentujte a nahrajte do classroomu.
Inšpirovať sa môžete napríklad týmto LEGO strojom na meranie ohniskovej vzdialenosti šošoviek: https://youtu.be/0kHhbRbAFlc
Úloha č. 2:
Pomocou kamery vo svojom notebooku alebo mobile rozpoznajte čo najviac z týchto čiarových kódov. Za každý rozpoznaný kód je jeden bod.
Návod:
Prepojenie kamery a spracovanie obrázku v Processingu už viete z minulého cvičenia. Nižšie máte ukážkový program, ktorý zobrazí v okne okrem obrazu z kamery aj úroveň jasu jedného (prostredného) riadku. Úroveň jasu (brightness) sa pohybuje od 0 (čierna) po 255 (biela). Obraz z kamery viete v okne zapnúť/vypnúť klávesou 'c'.
Čo ďalej?
Stanovte si nejakú rozhodovaciu úroveň (threshold), od ktorej vyššie budete považovať farbu za bielu, a od ktorej nižšie za čiernu. Tým dostanete riadok hodnôt len s dvoma hodnotami - čiernou a bielou, napr. 0 a 1.
Nás teraz zaujíma počet pásikov v obraze. Jedna možnosť ako to spočítať, je zistiť, koľko zmien 0->1 sa v poli nachádza. Mimochodom - zmena je vlastne derivácia, ktorá sa v diskrétnom priestore spočíta ako rozdiel dvoch po sebe idúcich hodnôt. Môžete teda pole "zderivovať" a potom už len spočítať, koľko je tam kladných zmien (a prípadne pre istotu porovnať, či je tam aj rovnaký počet záporných zmien). Týmto postupom viete zistiť, koľko čiernych prúžkov v obrázku máte a nebude to ani závislé od ich šírky.
Ak chcete naviac porovnať aj šírku pásikov, pomôže vám domáca úloha z Repl.it.
Pozn. 1: možno bude rozpoznávanie spoľahlivejšie, ak zahodíte zopár pixelov na oboch okrajoch obrazu.
Pozn. 2: úlohy nie je nevyhnutné riešiť v Processingu, môžete použiť ľubovoľný programovací jazyk a prostredie, v ktorom viete pracovať.