PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kamera-Avr-Bilderkennung



AVRboy
29.08.2006, 00:09
Hi Leute,

ich habe jetzt schon viel gehört und so und wollte mal fragen wie ich ein bild (schwarz/weiss) in einem mcu auswerte (berechne) was gibts denn so für libarys oder besser befehle etc. in bascom das muss doch irgend wie gehen oder geht so was nur in c.

Also wenn jemand Ideen,Vorschläge,Geistes Blitze oder einfach ein Buch oder ne www hat postet es doch.

Noch ne frage wurde so etwas oder änlich in RN schonmal behandelt (wenn ja wo).

mfg a.b.m.r
:-b :-({|= \:D/ :-k [-X #-o :^o [-( =D>

Gento
29.08.2006, 01:21
10x10 Pixel Bild ?
*sfg

Gento

AVRboy
06.09.2006, 20:11
Hi,

also ich habe da an eine gameboy cam gedacht die gibts ganz billig.
oder was meinst du. die gb cam is in s/w weil mit farben umrechnen wird zufiel ich bin mir noch nicht einmal so sichr wie ich ihm sage was er erkennen soll. (datentabelle oder so ähnlich)

techboy
06.09.2006, 20:17
Da solltest mal tobimc fragen der hat sowas mal gebaut bzw. programmiert....

www.tobias-schlegel.de

/*das soll hier keine werbung sein!*/

Mfg.Attila Földes

AVRboy
06.09.2006, 20:26
ich weis da habe ich schon gekuckt aber er will doch mit log noch mal beim jufo mitmache deshalb sind infos so rar.

hat den keiner ne ahnung wo man bei sowas ansetzten muss z.b. wie verarbeite ich so nen bild wie kommts in avr was nimmt man so für routinen bei so was

lion1984
06.09.2006, 20:51
hiho,

schon diese seite gefunden?
http://www.kreatives-chaos.com/index.php?seite=gbcam

lg

ogni42
06.09.2006, 20:54
Suchfunktion benutzen. Da gibt's einen seeeeehr langen Thread zu. Die SourceCodes sind IIRC aber meistens in C.

repi64
06.09.2006, 22:49
Vielleicht ist das ja was für dich:

http://www.chip45.com/index.pl?page=visionAVR&lang=de

tobimc
06.09.2006, 23:02
Hi

Lol, ich wusste garnicht, dass meine Page so bekannt und frequentiert ist / wird... :D

Nunja, das mit dem Jugend Forscht stimmt soweit. Und ich möchte vorerst meinen Quellcode noch nicht freigeben, aber ich geb dir nen Tip:
Such mal Infos zum Thema Kantenerkennung zusammen.
Es gibt da relativ komplexe Verfahren, und auch ganz einfache.
Mach dich mal schlau. So bin ich da auch drangeraten...

VLG Tobi

AVRboy
08.09.2006, 20:55
Hi,

also erst mal danke an alle freutmich das dieses thema so viel interesse auslöst (het ic nich gedacht).

he ogni42 hast vieleicht noch ein link dazu was du fandest oder nen suchbegriff.

repi64 danke. aber nich so das was ich suche" ".

lion1984 danke aber das habe ich schon einmal durch gestöbbert.

he tobi mir ist klar das du deinen surcecode nich offen legen kannst aber naja wenn du mir viele gute tipps gibst hilft mir das vieleicht mehr.

ok. wenn ihr noch was findet ideen oder geistesblitze habt nur her damit gute tipps und so sind immer gut und gerne gesehen.

ich hoffe das wird was wenn ja ich lass es euch wissen.

mfg m.r.

und nicht aufhören zu posten

AVRboy
08.09.2006, 20:58
ach ja tobi in was progst du (c wars doch oder (winavr)) wenn ja wie hast du winavr gelehrt. ich wollte mal mich einbisschen da einarbeiten aber es scheitert irgend wie schon bei der variabelen deklaration.



mfg m.r.

tobimc
08.09.2006, 21:33
Hi

Ich kann beides; BASIC oder C.
Die JuFo-Sache habe ich in BASCOM programmiert.

Naja, C ist C. Ganz einfach. Ich programmiere C unter Windows (API; Jungs ;D) Und da ist der Umstieg auf WinAVR-C (Danke nochmal PicNick) nicht schwer.

VLG...

PS: @ Gento: www.tobias-schlegel.de/?did=18

AVRboy
08.09.2006, 21:42
hi,

hat dir PicNick bei C geholfen oder was du kennst sicher ein buch das du mir einfach mal zur hilfe nennen köntest oder.

ach so ich will ja hier raus kein c bücher thema machen nur wenn jemand fragen sollte

mfg

m.r.

tobimc
08.09.2006, 21:44
Hi

Nein; das C-Prinzip hatte ich schon vorher drauf, ich hab nur ne N00b-Frage gehabt...

Ich empfehl wie immer dashier: https://www.roboternetz.de/wissen/index.php/Buchvorstellungen#C_Programmieren_von_Anfang_an.2C _Autor_Helmut_Erlenk.C3.B6tter

VLG...

AVRboy
08.09.2006, 21:50
ok gut ich habe es soeben im internet bestellt 8vieleicht wirds ja was) aber nun zurück zur denn kanten da gibts so viele algoritmen welchen nehmen ich da denn ambesten ?

hast da mal ne anregung für mich.

mfg

............

tobimc
08.09.2006, 21:54
Hi

Die Antwort ist ganz einfach: Den einfachsten.
(Du hast ein System mit sehr wenigen Ressourcen... Du musst sparen wo es geht!)

VLG Tobi

AVRboy
08.09.2006, 22:10
schon klar aber welcher ist deiner meinung nach der einfacst oder gibts da mehrere.

robby-fant
08.09.2006, 23:11
ich habe jetzt eine mmc-karte 128mbyte auf einer atmega32-platine und eine gameboycam angeschlossen. der datentransfer geht ab wie die post.
habe jetzt genug speicher auf dem avr frei für die grafikauswertung.
schicke den robby durch die wohnung und kann mir unterwegs bilder und nochmals bilder einsammeln.
die auswertung der bilder ist eine tolle sache.

tobimc
11.09.2006, 09:12
HI

Ich weis ja nicht, welche Algorithmen du gefunden hast. Ich habe meinen Kantenerkennungsalgorithmus weitgehend selbst erfunden.
schaue dir schwarz/weiss-Bilder an und guck mal, wie man da Kanten erkennen könnte.

VLG Tobi

Xtreme
11.09.2006, 11:08
Such mal bei Wikipedia nach Sobel bzw Laplace Operatoren... du solltest allerdings fit in Mathe sein ;-) Matrizien usw.

Achja, sowas kann man auch selbst finden.... [-(
Es macht weniger Arbeit "Kantenerkennung" bei Google einzugeben und Enter zu drücken als


aber nun zurück zur denn kanten da gibts so viele algoritmen welchen nehmen ich da denn ambesten ?

hast da mal ne anregung für mich.

schon klar aber welcher ist deiner meinung nach der einfacst oder gibts da mehrere.


im RN zu posten....

Edit:
Ich habe in meinem Firefox z.B. Rechts oben ein Suchfeld... mit dem kann ich bei Google und im Wiki suchen... das ist ein Klick und liefert bei Wikipedia dieses Ergebnis:

http://de.wikipedia.org/wiki/Kantenerkennung

Oh Wunder....
Achja, und schau mal in mein Album...

tobimc
11.09.2006, 11:25
HI Xtreme!

Sobel und Laplace & Co. sind für AVRs viel zu kompliziert.
Man kann sowas realisieren, aber selbst mit allen (meinen) Vereinfachungen ist es nicht leicht, sowas auf einem AVR laufen zu lassen.
Wie gesagt, bis mein System ein Bild ausgewertet hat, vergehen ca. 3 Sekunden

VLG Tobi

AVRboy
14.09.2006, 17:35
Hi,

also es ist nicht so das ich nicht danach gekuckt hätte (Xtreme) aber die waren alle so verdammt kompliziert ich habe mir das jetzt nochmal angesehen . also canny sieht recht "gut" aus oder roberts oder eine mischung daraus.

bei meinen controllern habe ich an ein m128 gedacht der hat schöne performance aber ist einwenig über.... na ja egal habe denn auf ner platine in meiner bastelkiste gefunden versuche mal in da heile runter zu bekommmen.

mfg m.r.

.........................

tobimc
15.09.2006, 08:39
Hi

Die Performance zwischen M8 und M16 ist genau gleich. Der einzige Unterschied ist die Antahl der Ports und externer Hardware.
Der Prozessorkern - der AVR-Kern - ist bei allen gleich.
Mein Code passt in einen Mega16, und deshalb benutze ich ihn auch.
Von mir aus kannst du einen M128 nehmen, aber .... das brauchts nicht. Denn ; du brauchst sowieso externes RAM... Der M128 hat zwar 4kb RAM, aber da passt gerademal ein knappes Viertel eines Gameboycamerabildes rein.
Bei Reichelt gibts mehr oder weniger günstiges S-RAM (Das S ist wichtig).

VLG Tobi

AVRboy
16.09.2006, 20:39
Ach du scheisse wie gross ist denn so ein bild (16kb). na toll denn m128 nehme ich trozdem sonst muss ich bestellen. der m128 liegt in meiner schublade rum .

wenn ich externen ram brauche woran ich noch nicht gedacht habe wird das noch kompliezirter.

also ich fasse mal zusammen:

der adc verarbeitet das reine kamerabild
der avr empfängt es und schreibt es in den ram
der avr verarbeitet es mit dem algo.
das verarbeitete geht wieder in den ram
mit hilfe des bildes im ram ermittelt er einen weg (sehr schwer oder )

als algo kommt denke ich roberts-operator ins spiel mit canny vermischt oder aleine

schauss dir mal an ob es so im prinzip richtig ist oder ob du was anderst machen würdest

tobimc
16.09.2006, 20:51
Hi

Externes RAM brauchst du unbedingt.

Deine Zusammenfassung ist auch soweit ok.

Allerdings kann der AVR keinen Weg berechnen, dazu reichen die Informationen nicht.

VLG Tobi

AVRboy
16.09.2006, 21:09
mit weg berechnen meine ich er fährt halt da ho kein hindernis ist.

wenn du deinem roboter ein klotz vor die cam gibst dan weicht er dem doch aus oder erkennt er die kanten am äuseren ende und fährt darum.

mfg

tobimc
16.09.2006, 22:41
Hi

Je bunter desto besser. Das muss ich noch optimieren, ist noch nicht opimal...

VLG Tobi