Bonjour à vous !
Alors voila j'ai un petit souci voir même gros ou plutôt énormissime souci de traitement d'image.
Je vous expose cela :
Alors le but est que par camera (ndlr CMUcam2), je dois pouvoir détecter des formes de base comme carré triangle rond et croix ainsi que par la suite de la couleur de ces éléments Rouge, Bleu, Vert et Noir.
Je souhaite pour le moment me limiter à la forme, pouvant à la limite compléter le principe par la suite.
Cela pourra sembler évident mais le problème est que je dois installer ce système sur un microprocesseur cible de type M16 (ou à la rigueur M32) de Renesas (16 MHz à mémoire limitée c'est à dire au maximum stockage de 2 images).
Le souci se posant est l'absence d'unité de calcul matriciel, la mémoire limitée et le temps d'exécution de l'algorithme qui doit être relativement rapide... (Mais à la limite peut importe le temps de traitement pour le moment, l'optimisation sera faisable par la suite.)
Alors un petit mot sur la camera et l'image qui en ressort :
Le capteur fourni une image (pas sur à 100 % mais je crois : 26 frames per second 160 x 245 pixels) dont il extrait une information individuelle RGB sous la forme d'un flot numérique continu accessible sur un bus 8/16 bits. Ces informations sont temporairement stockées dans un circuit intégré « buffer » afin de pouvoir accélérer le traitement des données. Les paramètres de la caméra (la saturation des couleurs, la luminosité, le contraste, la balance des blancs, le temps d'exposition, le gain et les modes de sortie) sont programmables.
Il m'est possible d'envoyer par bus les données d'une image dans une mémoire RAM auxiliaire afin d'utiliser le traitement du Microprocesseur servant de carte mère à la fois à la gestion de la caméra mais de tout ce qui va avec le système global... il est possible de consacrer une carte processeur unique à la gestion d'image si les ressources demandées sont trop importantes.
Le processeur :
Le microprocesseur dispose d'une unité de calcul arithmétique et logique (ALU) mais est incapable de travailler vectoriellement efficacement.
Il dispose d'une unité de calcul sur nombres flottants.
Les microprocesseurs que j'utilise arrivent à interpréter très correctement le C mais posent évidemment problème avec le C++, de toute façon le programme sera traduit en assembleur pour l'optimiser.
Je me consacre actuellement UNIQUEMENT sur la détection de forme...
Mon gros souci est de trouver un algorithme n'utilisant pas les matrices pour effectuer les détections de forme. une analyse pixel par pixel peut être.
En fait le traitement d'image n'est pas du tout mon domaine de prédilection et je ne suis que novice en cela, si quelqu'un pouvait me donner des pistes de recherche, des conseils ou des astuces. ou des nom d'algorithme non matriciel existant dans ce domaine.
J'ai pensé à tenter de détecter les contours des formes sur des images en niveau de gris mais idem je ne trouve que des approches matricielles.
Là je suis vraiment bloqué.
En fait je cherche auprès de vous des pistes d'algorithme mathématiques possibles en C pur pour les détection de forme, de contour ou opération de ce style...
Merci d'avance pour vos réponses qui seront j'en suis sur pleines de bonnes idées et de conseils!!!!