begin process at 2012 05 29 04:37:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

filtres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

filtres

mercredi 12 avril 2006 à 09:53:40 | filtres

vadeon

Bonjours

Je dois filtrer une image prise par une caméra, afin d'en déterminer les couleur et les forme qui se présenteront devant la caméra.
Les forme seron toujours cylindrique et les couleurs seront soit du vert, du bleu ou du rouge.
alors que je filtre mon image de format 640*480, mon scan s'arrete en plein milieu de l'image alors qu'il ne devrait pas.




mercredi 12 avril 2006 à 10:04:54 | Re : filtres

buno

Administrateur CodeS-SourceS
Problème de boucle?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
mercredi 12 avril 2006 à 10:05:28 | Re : filtres

vadeon

Désolés! j'ai envoyer avant de rajouter mon code.
La partie des filtre se trouve dans la fonction Traitement_pixel.
Et voici ma question: Pourquoi mon scan s'arrete t'il au milieu de l'image

donc voici mon code:


/*Début du main*/

#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include "prototype.h"

void main ()
{
    unsigned short image[307200];  // tableau ou ranger l'image 307200= nb pixel (640*480)
    long i;

    ouverture(image);

    traitement_pixel(image);

    puts("les --- premier pixel:");
    for(i=64000;i<=64300;i++)
    {
        printf("%x\n",image[i]);     
    }
  }   
/* fin du main*/




/*Début de la fonction Ouverture*/

#include <stdio.h>
#include <io.h>
#include <fcntl.h>

void ouverture (unsigned short *image)
{
        int file = _open("C:\\Documents and Settings\\All Users\\Documents\\partacam\\acqui1.raw", _O_BINARY | _O_RDONLY);

    if (file!=-1) //si file est différent de -1 fichier ouvert
    {
        puts("fichier ouvert correctement");
        int lecture=_read(file,image,307200); // lecture du fichier
        if(lecture!=-1)
        {
            puts("fichier lu correctement");
        }
        else
        {
            puts("erreur de lecture");
        }
    }
    else
    {
        puts("erreur d'ouverture du fichier acqui.raw");
    }
    _close(file);
}

/*Fin de la fonction Ouverture*/


/*Début de la fonction Traitement_pixel */

#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

void traitement_pixel(unsigned short *image)
{
    int x,y;
    int rouge,vert,bleu;
    int file = _open("C:\\Documents and Settings\\All Users\\Documents\\partacam\\acqui1.raw",
                 _O_BINARY | _O_WRONLY | _O_CREAT, _S_IWRITE);

    for(y=0; y<=479; y++)
    {
        for(x=0; x<=639; x++)
        {
            //masque pour supprimer le vert et le bleu
            rouge = (image[(y*640)+x] & 0xf100);
            //décalage du rouge de 11 bits vers la droite
            rouge = rouge >>11;

            //masque pour supprimer le rouge et le bleu
            vert = (image[(y*640)+x] & 0x07e0);
            //décalage du vert de 5 bits vers la droite
            vert = vert >>5;
           
            //masque pour supprimer rouge et vert et transformer  bleu en binaire
            bleu = (image[(y*640)+x] & 0x001f);
               
            if( (rouge<11 && vert<22 && bleu<11) )    //si noir alors pixel mis à 0
                            image[(y*640)+x]=0;
           
            if( (rouge>11 && vert>8 && bleu>9) )    //si blanc alors pixel mis à FFFF
                            image[(y*640)+x]=0xFFFF;
                   
        }
    }



    int contour=_write(file,image,307200); // écriture du fichier
   
    if(contour!=-1)
        puts("traitement du contour realise correctement");

    else
        puts("erreur lors du traitement du contour");
        
}

/* Fin de la fonction Traitement_pixel */



mercredi 12 avril 2006 à 10:05:53 | Re : filtres

louis14

l'image est rafraichie pendant la procédure?

louis14
mercredi 12 avril 2006 à 10:10:53 | Re : filtres

buno

Administrateur CodeS-SourceS
Réponse acceptée !
rouge = (image[(y*640)+x] & 0xf100);
Si tu fais un masque avec F100, cela veut dire qu'un pixel tient sur 2 octets. Or, tu n'en tiens pas compte dans ta boucle

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
mercredi 12 avril 2006 à 10:24:07 | Re : filtres

vadeon

Oui l'image est rafraichit

Bruno, que me conseil tu de faire dans ce cas?

mercredi 12 avril 2006 à 10:32:35 | Re : filtres

buno

Administrateur CodeS-SourceS
Réponse acceptée !
Quand tu fais le read, tu lis 307200 octets, donc 153600 pixels.
Il faut en lire 2x plus

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
mercredi 12 avril 2006 à 11:25:46 | Re : filtres

vadeon

Merci beaucoups!


Cette discussion est classée dans : image, caméra, forme, filtres


Répondre à ce message

Sujets en rapport avec ce message

SELECTION D'UNE ZONE DE FORME QUELCONQUE D'UNE IMAGE AVEC LA SOURIS [ par tiger3550 ] Bonjour,Dans le cadre d'un projet d'école, je dois réaliser un logiciel de traitement d'images médicales. Toute aide serait la bienvenue.Mon problème comparaison d'image [ par neo_fm ] Comment peut on faire pour comparer deux images (en niveau de gris) issues d'une caméra?Il faut que je réalise en programme en C, à insérer dans la ca dessiner une image en c++( urgent++) [ par aurelien070 ] je dois dessiner sous forme d'image(.jpeg)  une courbe en c++, J'ai des points dans un fichier (.txt) et à partir de ces points je doi tracer la courb image en forme de cercle [ par mathieu57100 ] bonjour, j'aimerai savoir comment faire appraitre une image seulement dans un cercle, la partie de l'image hors du cercle n'apparaitrait pas.j'ai essa les filtres de daubechies [ par haroudi19 ] bonjour   tous le mondeje veux savoire comment appliquer un filtre de daubechies sur une image précisement comment faire le produit matriciel entre le image bmp dans une matrice [ par carmag77 ] Bonjour,j'ai un probleme, je dois faire de la reconnaissance de forme a partir d'une image bmp qui a ete traitée en noir et blanc suivi d'un feuillage Comment récupérer une image d'une caméra émettant une vidéo [ par fedora6 ] Salut,Je travaille sur un programme trés compliqué  et je suis débutante avec le C++ , je voulais savoir comment peux-je récupér Algorithme de traitement d'image [ par custronicien ] Bonjour à vous !   <p class="MsoNor COMMENT AFFICHER UNE IMAGE .JPEG, . BITMAP... SOUS FORME DE CODE BINAIRE? [ par soophy44 ] Bonjour, je suis un peu beaucoup artiste, et j'aurais aimer savoir comment faire pour obtenir une image sous forme de code binaire, un affichage un pe Reconnaissance de forme -Traitement de l'image [ par macslide ] Bonjour, je suis étudiant en école d'ingénieur et nous avons un projet consistant à reconnaître à partir d'une image base un pièce usiné les formes et


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales