Bild Verarbeitung im mikrocontroller?
Ich haben ein Roboter-Projekt, und es muss für die Verarbeitung von Bildern aus einer Kamera. Aber ich bin auf der Suche nach einem mikrocontroller zu haben Bildverarbeitung auf seine eigene, frei von jedem computer oder laptop. So ein mikrocontroller vorhanden? Was ist es? Und wie wird es gemacht?
Was Bild Bearbeitung zu tun die Sie wirklich tun wollen?
Nur nebenbei: Es gibt Tonnen von Bildverarbeitungs-chips, jedoch-mikrocontroller in der Regel bezieht sich auf general-purpose-CPU:s.
Btw... Sie schon sagen "ARM" im Betreff, so haben Sie die Antwort schon, oder nicht?
So etwas wie ein beagleboard ist ARM, aber laufen können openCV
BlackFin Bf70x FTW
Nur nebenbei: Es gibt Tonnen von Bildverarbeitungs-chips, jedoch-mikrocontroller in der Regel bezieht sich auf general-purpose-CPU:s.
Btw... Sie schon sagen "ARM" im Betreff, so haben Sie die Antwort schon, oder nicht?
So etwas wie ein beagleboard ist ARM, aber laufen können openCV
BlackFin Bf70x FTW
InformationsquelleAutor amin yoosefi | 2011-02-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke du nimmst den falschen Ansatz zu Ihrer Frage. Im Kern eines Mikrocontrollers ist ziemlich einfach nur ein Berechnungsmodul mit einigen Vielzahl von Peripherie-Modulen. Die Funktionen, die variieren in der Regel dazu gedacht sind, erfüllen Sie eine Anwendung, wo einer bestimmten performance-Metrik erforderlich ist. Also in dieser Hinsicht alle generischen mikrocontroller ausreichen wird, vorausgesetzt, es erfüllt Ihre performance-Kriterien. Ich denke, das was du fragst ist:
Antworten auf diese Fragen, und dann können Sie gehen und schauen, controller, Lieferanten und herauszufinden, welcher chip Ihren Bedürfnissen am besten passt. Ich arbeite meist mit Microchip PIC ' s in diesen Tagen, so würde ich vorschlagen, die dsPIC33-Linie aus, die Familie als Ausgangspunkt. Die Familie ist gebaut für DSP-Anwendungen, wie es die Peripherie-library enthält einige Bildverarbeitungs-Zeug und es hat die oben genannten barrel-shifter und multiply-add-hardware-Einheiten, die für Anwendungen bestimmt, wie filtern und dergleichen.
InformationsquelleAutor spade78
Ist es unmöglich, Ihre Frage zu beantworten, ohne zu wissen, was der Bildverarbeitung ist es, die Sie tun müssen, und wie schnell. Für einen Roboter, ich nehme an, dies ist die Echtzeit-Verarbeitung ein Ergebnis verfügbar sein muss, vielleicht an der Framerate?
Oft eine effizientere Lösung für die Bildverarbeitung, ist die Verwendung eines FPGA anstelle eines Mikroprozessors, da es ermöglicht massive Parallelisierung und Rohr-Futter und implementiert algorithmen direkt in hardware-Logik, anstatt sequentielle Anweisungen, so dass auch sehr anspruchsvolle Bildverarbeitung erreicht werden kann, bei relativ niedrigen Taktraten, einem FPGA laufen bei nur 50 MHz kann leicht übertreffen desktop-Prozessor, wenn die Durchführung spezialisierten Aufgaben. Einige Aufgaben wären unmöglich zu erreichen ist, in irgendeiner anderen Weise.
Auch eine überlegung Wert ist ein DSP, so zieht dies nicht die Leistung eines FPGA ist jedoch einfacher zu verwenden und vielleicht flexibler ist, und ist entworfen, um Daten schnell und Anweisungen ausführen, effizient, oft auch eine Ebene des Unterrichts Ebene der Parallelisierung.
Wenn Sie möchten, einen herkömmlichen Mikroprozessor, dann müssen Sie werfen clock-Zyklen auf das problem (brute force), dann ein ARM 11, Renesas SH-4, oder sogar ein Intel Atom geeignet sein können. Für lower-end-Aufgaben ein ARM Cortex-M4, was mit einer DSP-engine und Optional floating-point-hardware kann geeignet sein.
InformationsquelleAutor Clifford
Den CMUcam3 ist die Kombination aus einer kleinen Kamera und einem ARM-basierten mikrocontroller ist frei programmierbar. Ich habe programmierten Bildverarbeitungs-code vor. Ein Nachteil ist jedoch, dass es nur noch 64 KB RAM, so dass jede Bearbeitung, die Sie wollen, zu tun, die getan werden muss, scanline-von-scanline.
InformationsquelleAutor gpcz
Color-Objekt-tracking und ähnliche einfache Bildverarbeitung kann getan werden, mit AVRcam. Weitere intensive Verarbeitung würde ich OpenCV auf einigen ARM-Linux-board.
InformationsquelleAutor avra