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

    [C]Recupero informazioni da immagine .bmp

    Buonasera. Ragazzi sto sbattendo la testa su questo problema che alla fine sono sicuro si rivelerà essere abbastanza semplice.
    Sto tentando di scrivere una funzione che, dopo aver aperto un file .bmp, salva il valore di ogni pixel in un array di dimensione altezza_immagine*larghezza_immagine.
    Al 10° byte dall'inizio del file ci dovrebbe essere il valore dell'offset da sommare all'inizio del file stesso per poter iniziare a leggere il valore di ogni pixel. Il problema è che quando tento di leggere il valore del primo pixel(si tratta di una immagine a 8 bit di profondità, quindi 1 byte per ogni pixel) mi viene fuori un valore negativo o comunque non veritiero. C'è qualche conversione che sto dimenticandomi di fare prima o dopo aver letto il valore? Probabilmente sarà un problema di casting...
    Ecco la funzione:
    codice:
    void get_pixels(char path[]){
    int i, j=0;
    int offset;
    char depth;
    FILE *fp;
    char bmp[5];
        
        for(i=strlen(path)-4;i<strlen(path);i++){
            bmp[j]=path[i];
            j++;
        }
        if(strstr(bmp, ".bmp")==NULL){
            printf("\nIndicare un file .bmp come immagine!\n");
            exit(1);
        }
        
        fp = fopen(path, "r");
        
        fseek(fp, 28, SEEK_SET);
        fscanf(fp, "%c", &depth);
        
        if(depth!=8){
            printf("\nSelezionare una immagine a 8 bit!\n");
            exit(2);
        }
        
        fseek(fp, 10, SEEK_SET);
        fread(&offset, sizeof(offset), 1, fp);
        printf("\n%d", offset);
        
        fseek(fp, offset, SEEK_SET);
        fscanf(fp, "%c", &pixels[0]);
        printf("\n%d", pixels[0]);
        
        fclose(fp);
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    E' mia quella discussione... xD

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Lo so ... e hai avuto anche delle risposte che è inutile riproporre qui ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Il post nell'altro forum è successivo a questo...

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.