Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 14. 05. 2013 19:02 — Editoval ReVolt (14. 05. 2013 19:09)

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Čtení bmp souboru

zdravím, mohl by mi někdo poradit jak přečíst bitmapu? hledal jsem na internetu a našel jsem pár návodů jak to udělat, ale nějak mi to nefunguje:
(kód je v C++)

Code:

#include <iostream>
#include <fstream>

using namespace std;

// tuto funkci jsem našel na internetu
unsigned char* readBMP(char* filename)
{
    int i;
    FILE* f = fopen(filename, "rb");
    unsigned char info[54];
    fread(info, sizeof(unsigned char), 54, f); // read the 54-byte header
 

    // extract image height and width from header
    int s = *(int*)&info[2];
    int bisize = *(int*)&info[14];
    int width = *(int*)&info[18];
    int height = *(int*)&info[22];    
    int size = 3 * width * height;
    
    unsigned char* data = new unsigned char[size]; // allocate 3 bytes per pixel
    fread(data, sizeof(unsigned char), size, f); // read the rest of the data at once    
    fclose(f);
    for(i = 0; i < size; i += 3)
    {
            unsigned char tmp = data[i];
            data[i] = data[i+2];
            data[i+2] = tmp;
    }

    return data;
}

int main(int argc, char **argv)
{

    unsigned char *data;
    if(argc == 2)
    {
    data = readBMP(argv[1]);
    cout << data; //nic se nevypíše
    }
    else
        return -1;
    
    return 0;
}

Nevím co s tím, ale potřeboval bych to rozchodit, mám totiž černobílý obrázek převést na minimální nedeterministický automat.
Proto potřebuji vytáhnout pole těch bitů (0 a 1), ale nějak se v to ztrácím...

Kdyby měl někdo nápad jak převést obrázek na automat budu moc vděčný za jakoukoli radu nebo odkaz nebo něco.

Díky moc Kuba


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#2 14. 05. 2013 21:09

tuxmartin
Zelenáč
Příspěvky: 2
Škola: FIM UHK
Pozice: student
Reputace:   
 

Re: Čtení bmp souboru

Musi to byt v C++, nebo muze byt Java?

Offline

 

#3 14. 05. 2013 21:20

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Čtení bmp souboru

↑ tuxmartin:
klidně java, já si to přepíšu


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#4 14. 05. 2013 21:40

tuxmartin
Zelenáč
Příspěvky: 2
Škola: FIM UHK
Pozice: student
Reputace:   
 

Re: Čtení bmp souboru

Jestli ti to pomuze, koukni na muj zapoctovy projekt z grafiky - https://dl.dropboxusercontent.com/u/694 … voluce.zip

Resil jsem filtraci rastroveho obrazu (konvolucni operatory, gradientni filtry).

Offline

 

#5 14. 05. 2013 21:41

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Čtení bmp souboru

dík, určitě si to projdu


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson