-
Bilderkennung-Programm
Ich habe eine Webcam an meinen Bot aber kein Programm das die Bilder dieser Cam irgendwie auswerten oder bewegungen oder Helligkeitsunterschiede warnehmen könnte und dann befehle an den LPT Port des Pcs senden und die Relaiskarte schalten könnte.
Kennt jemand so ein programm oder wenn jemand eines schreiben würde wäre ich sehr dankbar.
Schon ma danke im voraus für eure Hilfreichen Beiträge.
-
Bilderkennung ist die Königsklasse der Programierung in Sachen Roboter.
Mir ist nicht bekannt das hier schon mal was richtig funktioniert hat.
Aber es viele auch ein paar Infos. Hast du den PC auf dem Bot ? wie kommen die Bilder auf den PC ? Wie viel Leistung steht zu Verfügung ? Ist es als Steuerung gedacht ?
Gucke mal hier:
https://www.roboternetz.de/phpBB2/ze...ag.php?t=16884
Dieses Forum hat ein such Funktion.
-
Naja, zurzeit planne ich selber auch an einer Bilderkennung
https://www.roboternetz.de/phpBB2/viewtopic.php?t=32843
der 1hdsquad hat mir nen netten link zu ner Diplomarbeit geschickt
https://www.roboternetz.de/phpBB2/dl...le&file_id=111
Sehr viele Infos drinne... Ich hab / hatte jetz am Anfang auch extreme Probleme was zu diesem Thema zu finden... man tastet sich da langsam ran und kommt Seite für Seite, Algo für Algo langsam weiter...
Aber da du Ja Was "fertiges" willst... Da brauchste entweder genug Kohle (diese Weicheware ist gerne mal ganz schön teuer) oder fragst mal ambesten die Leute, die damit schon gearbeitet haben ambesten direkt per PM an ob sie noch was rumliegen haben... Ich denk aber da führt nichts am Proggen herrum... Werd mich aber mal im Inet umschauen und das in meinem Topic / hier posten wenn ich was finde.
greEtz baud
-
Hi,
Panasonic hat ein Programm im Angebot, das zumindest Helligkeitsunterschiede und andere Merkmale (z. B. Markierungen, Kerben usw.) zuverlässig unterscheiden kann. Bewegende Sachen gehen damit aber glaube ich nicht...
Gruß Bernd
-
Ich würde vielleicht einen ganz anderen Weg gehen.
Wenn ich etwas selber baue, dann will ich es auch ganz selber gebaut haben. Gut, vielleicht die eine oder andere Anregung anderer Bastler aufnehmen, aber eine komplette Bildverarbeitung einfach so übernehmen und dann sagen, man hätte seinen Roboter selbstgebaut - das ist für mich so, als würde ich auf meinen alten Kombi nen Aufkleber ranbappen und dann sagen, ich hätte das Auto selber entworfen...
Da ich in Zukunft für meinen Bot selbiges vorhabe, hier meinen geplanten Weg. Vielleicht ist ja eine Anregung dabei.
Als erstes soll die Bildverarbeitung von einem Atmel gemacht werden, also onboard. Das ist eine heftige Aufgabe, aber vielleicht nicht unmöglich. Dazu ist eine Webcam ungeeignet, da sie ein USB-Gerät ist. Ich werde eher eine normale Mini-Videocam für ein paar Euro nehmen, und dann sehen, ob ein Atmel da nicht vielleicht 1-2 fps digitalisieren kann.
Dann die Bildverarbeitung. Da gibt es viele Möglichkeiten, Informationen aus einem Bild zu gewinnen: Spalten und Zeilen nach Maxima Untersuchen, oder vom aktuellen Bild das Vorherige subtrahieren um Bewegungen deutlicher zu machen ...
Es ist doch grade dieses Experimentieren, was dieses Hobby so interessant macht. Oder wie jemand mal sagte: wer immer nur in die Fußstapfen eines Anderen tritt, der wird niemals voranschreiten.
Vielleicht findest ja grade DU einen Weg, den noch niemand vor dir gefunden hat, grade weil du vielleicht das ganze nicht bis ins Letzte studiert hast und vorgekaute Meinungen lernen musstest und bist so anderen weit voraus.
Versuch macht kluch, hast nix zu verlieren :)
Gruß MeckPommER
-
Hallo MeckPommEr,
das Video-Digitalisieren mit Atmel habe ich auch vor, letztes Jahr habe ich mich dazu viel mit dem Macher der Webseite "kreatives-chaos.com" unterhalten, und er hat für mich eine pfiffige Schaltung entworfen. Die Platine ist geätzt und bestückt, allerdings kommen weder Fabian noch ich so recht dazu, das Ding in Betrieb zu nehmen.
Wenn Du Interesse hast, schreib mir ne PN, vielleicht gebe ich mir einen Ruck und dokumentiere den bisherigen Stand auf meiner Webseite oder als email.
Gruß
Tom
-
Aaalso. Für Bilder in Atmelo bekommen kann ich wärmstens
die Kamera C-325 empfehlen. Die funktioniert echt prima
und 1-4 Frames/s gibt die auch locker aus je nach Auflösung
versteht sich, aber die Ziele sollten für den Anfang nicht zu hoch
gesteckt werden, weil ... naja, n AVR ist nicht gerade n Pentium
X-wasweisich mit 25 Terraherz Taktfrequenz.
Das nächste Problemchen ist das RAM. Selbst für n kleines
Bild in 4 oder 8 Bit Graustufe kommt Ihr schnell an die Grenzen des verfügbaren RAM, also auf alle Fälle ist die Erweiterung des RAM
vorzusehen. Man kann das entweder per X-RAM an den größeren AVRs machen oder halt in irgend einer anderen Form RAM anhängen.
Ich habe es so gelöst, dass ich extern nen alten EDO-RAM-Riegel
angepinselt hab. funktioniert soweit tadellos, aber das ist nur eine Möglichkeit von vielen.
Dann die Programmstruktur. Bei meiner Anwendung habe ich es so programmiert, dass während ein neues Bild eingelesen wird, das vorangegangene Bild verarbeitet wird und komme so auf 2-3 Frames je Sekunde. Meine Algorithmen basieren zunächst mal auf Sobel Kantenerkennung mit verschiedenen Matrizen und auf Differenzbildern. Ich kann behaupten, das die Geschichte schon ziemlich starker Tobak ist für nen AVR und der ist da mit nix Anderem Beschäftigt als Bilder verwursteln, sonstige Steueraufgaben oder so sind da fast nicht mehr drin, aber es geht.
-
@toemchen, den Stand auf ner Website zu dokumentieren ist sicherlich das Sinnvollste, da so am meisten Leutz davon profitieren.
@vitis, ne C-325 sagt mir moentan grade nicht viel, was ist das für eine? google war hier auch nicht wirklich hilfreich.
Um extra-RAM kommt man hier wirklich nicht herum. Etwas größer als 40x30 Pixel wollte ich die Bilder schon verarbeiten.
Mein Bot arbeitet parallel mit derzeit neun Atmels. Der 10. Controller, der dann für die Bilderkennung zuständig sein wird, braucht keine anderen Aufgaben zu erfüllen. Problem wird beim Extra-RAM nur die Beschaltung werden, da zwei Ports komplett für den Datenverkehr zu den anderen Controllern draufgehen. Aber wenn McGuyver aus nem Kaugummipapier nen Taschenrechner bauen kann, dann werde ich da auch ne Lösung finden ;-)
Als Controller hatte ich erstmal nen 644-20 im Auge. Nen größerer TQFP144 läßt sich so schlecht auf Streifenraster löten ^^
-
Ich arbeite gerade an so einem Programm. Versuche gerade einiges aber irgendwie klappt es nicht recht.
Was willst du genau erkennen? Bewegungen oder z.b. Helligkeit?
Was ich bisher geschafft habe ist, dass er ein Foto macht und wenn sich etwas im Bild verändert dann gibt er bescheit. Dazu schaut er sich die einzelnen Farben der Pixel an und vergleicht sie mit dem Foto. Natürlich wird ein gewisser Spielraum gelassen und erst dann wenn z.b. 4px*5px, die nebeneinander liegen sich verändern schlägt er an.
Dadurch, dass ich dazu eine Funkkamera benutze und öfters Störungen auftauchen zeigt er oft nur quatsch an.
Das Ganze ist also noch lange nicht im Stande zur Objektverfolgung, was ich ursprünglich im Sinn hatte ;-)
MFG
-
Hallo,
ich verwende bei meinem Bot die C3088 von roboter-teile.de . Die Bildverarbeitung läuft mit ca 10fps und kann beliebige schwarze Formen auf einem (am besten)weissen Blatt Papier erkennen. (also wie der POB-Bot). Linienverfolgung ist auch drin. Das ganze allerdings auf einem ARM (LPC2138) mit 59MHz. Später solls ein AVR32(AT32AP7000) mit 150MHz werden, da der schon ein Image Sensor Interface hat und so keine Zeit verbraucht, um das Bild zu empfangen.
MfG Mark