[C] Quadtree, traitement image
line
-
Lionel -
Lionel -
Bonsoir a tous,
Voila j'ai un peu petit problème avec les quadtree pour traiter des images. J'ai cherché pas mal par moi même et ensuite sur internet mais je ne comprends toujours pas comment coder cette fonction...
Tout d'abord nous avons une structure image comprenant ces différentes fonctions:
Image*createImage (int w, int h);/* creer une image de taille w*h */
int getWidth(Image*image); /* donne la largeur de l'image */
int getHeight (Image *image); /*donne la hauteur de l'image */
int getValue (Image *image, int x, int y); /* donne la valeur du pixel (x,y) */
void setValue (Image *image, int x, int y, int val); /* attribue la valeur val au pixel (x,y) */
La structure du Quadtree:
typedef struct Quadtree
{
struct Quadtree *FilsNE, *FilsNO, *FilsSE, *FilsSO;
int valeur /* Pour stocker la valeur moyenne de la couleur */
}Quadtree;
La fonction que j'essaye de coder est :
Quadtree* imageToQuadtree(Image* image); /* qui prend en argument un quadtree, et retourne l'image associée */
Voila donc je ne sais pas comment faire pour la coder...
Je me doute qu'il faut l'aborder recursivement, commencer par la racine, recuperer les valeurs des couleurs a l'aide de la fonction prevu a cet effet mais je ne vois pas comment lui fournir les bonnes coordonnées... et faire les appels recursivement...
Je vous remercie deja de m'avoir lu, et si vous pouviez me donner des pistes de reflexions ce serait formidable!!!
Merci,
Bonne soirée a vous
Voila j'ai un peu petit problème avec les quadtree pour traiter des images. J'ai cherché pas mal par moi même et ensuite sur internet mais je ne comprends toujours pas comment coder cette fonction...
Tout d'abord nous avons une structure image comprenant ces différentes fonctions:
Image*createImage (int w, int h);/* creer une image de taille w*h */
int getWidth(Image*image); /* donne la largeur de l'image */
int getHeight (Image *image); /*donne la hauteur de l'image */
int getValue (Image *image, int x, int y); /* donne la valeur du pixel (x,y) */
void setValue (Image *image, int x, int y, int val); /* attribue la valeur val au pixel (x,y) */
La structure du Quadtree:
typedef struct Quadtree
{
struct Quadtree *FilsNE, *FilsNO, *FilsSE, *FilsSO;
int valeur /* Pour stocker la valeur moyenne de la couleur */
}Quadtree;
La fonction que j'essaye de coder est :
Quadtree* imageToQuadtree(Image* image); /* qui prend en argument un quadtree, et retourne l'image associée */
Voila donc je ne sais pas comment faire pour la coder...
Je me doute qu'il faut l'aborder recursivement, commencer par la racine, recuperer les valeurs des couleurs a l'aide de la fonction prevu a cet effet mais je ne vois pas comment lui fournir les bonnes coordonnées... et faire les appels recursivement...
Je vous remercie deja de m'avoir lu, et si vous pouviez me donner des pistes de reflexions ce serait formidable!!!
Merci,
Bonne soirée a vous
A voir également:
- [C] Quadtree, traitement image
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Image iso - Guide
- Traitement de texte gratuit - Guide
- Ce logiciel gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
- Acronis true image - Télécharger - Sauvegarde
4 réponses
Tu dois diviser ton image en 4, puis iterer (donc en recursif)
Mais je dois t'avouer que je ne sais pas trop comment tu peux faire pour recuperer les bonnes adresses des x et y, pour les parametres de ta fonction SetValue...
J'espere t'avoir un peu aider...
Bon courage
Mais je dois t'avouer que je ne sais pas trop comment tu peux faire pour recuperer les bonnes adresses des x et y, pour les parametres de ta fonction SetValue...
J'espere t'avoir un peu aider...
Bon courage
SAluuut tout le monde
Personne n'a d'autres idées?
Car moi aussi j'aimerais bien comprendre ce systeme avec les quadtrees
mercii d'avance
Personne n'a d'autres idées?
Car moi aussi j'aimerais bien comprendre ce systeme avec les quadtrees
mercii d'avance