Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema con valore colore con libreria freeimage

    Ciao a tutti!
    Ho un problema nell'implementazione di un algoritmo in C. sto utilizzando la libreria freeimage, e non riesco a far funzionare questo piccolo pezzo di codice:

    if(FreeImage_GetPixelColor(bitmap, r, c, &colore)){
    immagine[r][c].R = colore.rgbRed;
    immagine[r][c].G = colore.rgbGreen;
    immagine[r][c].B = colore.rgbBlue;
    immagine[r][c].tipo = 0;
    }

    ed ho inoltre dichiarato la seguente struttura in questo modo:
    typedef struct pix {
    int R;
    int G;
    int B;
    int Dp[3]; // VALORE COLORE, ARRAY PER MANTENERE INFORMAZIONE PER CIASCUN R,G,B
    int Cp; // VALORE FIDUCIA
    int tipo; //INDICA SE IL PIXEL SI TROVA SUL BORDO =1, SULL'ELEMENTO DA ELIMINARE =2 O SULLA PARTE RESTANTE DELL'IMMAGINE=0
    int Pp; //VALORE PRIORITA'

    } pixel;

    pixel *immagine;

    Ma ho notato che i valori inseriti in immagine[r][c].R non corrispondono a quelli veri, ossia a quelli che ho osservato, aprendo l'immagine con Gimp. Forse non ho semplicemente capito il concetto base su come vengono salvati questi dati. Qualcuno sa aiutarmi??

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ritengo che al puntatore

    immagine

    sia stato assegnato un valore tramite una funzione di allocazione dello spazio necessario ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    sì certo,ho allocato la matrice dinamica così:

    immagine = (pixel **)malloc((altezza)*sizeof(pixel *));
    for(r = 0 ; r < altezza ; r++) {
    immagine[r] = (pixel *)malloc((larghezza)*sizeof(pixel));
    for(c = 0 ; c < larghezza ; c++) {

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma deve essere

    pixel **immagine;

    e non

    pixel *immagine;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    ah, scusa per quello, mi sono sbagliata prima nel trascrivere, certo che è dichiarata pixel **immagine. Il mio problema riguarda il valore che prendo attraverso la funzione GetPixelColor...perchè ad esempio, preso un pixel rosso della mia immagine, i valori che mi ritrovo sono:

    immagine[r][c].R=126
    immagine[r][c].G=44
    immagine[r][c].B=80

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Prova ad invertire r e c nella chiamata alla funzione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    non c'entrano niente le coordinate del pixel, il punto è che non riesco a capire come sono gestiti i colori con freeimage.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.