Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Operacja splotu bitmapy

Ostatnio zmodyfikowano 2015-01-09 15:05
Autor Wiadomość
Kahero
Temat założony przez niniejszego użytkownika
[C++] Operacja splotu bitmapy
» 2015-01-09 13:05:56
Hey !

Nie wiedziałem do jakiego działu przypisać ten temat więc wrzucam tutaj :)

Mam problem z wykonaniem zadania na zajęcia z programowania. Jestem świeżym studentem i  ale w związku z moją małą wiedzą na ten temat jest ciężko. Mam wykonać operacje splotu na 24-bitowej bitmapie i zapisać obraz wynikowy na dysku. Mam wykorzystać maskę o wartościach:
0 -1   0
-1  5  -1
 0 -1   0
Wczytuje plik:
C/C++
unsigned char * odczytajDaneObrazu( ifstream &, unsigned int rozmiar, int kursor )
{
    ifs.seekg( kursor, ios::beg );
    unsigned char * obraz = new unsigned char( rozmiar );
    ifs.read( reinterpret_cast < char *>( obraz ), rozmiar );
    return obraz;
}
Wiem, że po wczytaniu pliku muszę go podzielić na kolory. Obliczam liczbę zer biorąc pod uwagę rozmiar danych pliku wejściowego: rozmiar A = BfSize - BfoffBits

Obliczam rozmiar w pikselach: rozmiar B (bez zer)= biWidth - biHeight
Wyliczam ilość zer - (rozmiar A - rozmiar B)/biHeight  co jest mniej więcej tutaj:
C/C++
void odczytajRGB( unsgidned char * obraz, int ** niebieski, int ** zielony, int ** czerwony, unsigned int rozmiar, int szerokosc, int wysokosc )
{
    int zerowe_bajty = rozmiar / wysokosc - 3 * szerokosc;
    int k = 0;
    for( int i = 0; i < wysokosc; i++ )
    ( for( int j = 0; j < szerokosc; j++ )
    {
        niebieski[ i ][ j ] = obraz[ k++ ];
        zielony[ i ][ j ] = obraz[ k++ ];
        czerwony[ i ][ j ] = obraz[ k++ ];
    }
    k += zerowe_bajty;
}
w tym miejscu moja wiedza się urywa. Operacja splotu jest dla mnie na razie zagadką i mam nadzieje że ktoś mi wyjaśni i pomoże to wszystko skleić w jednolity program.

Pozdrawiam !
P-124484
darko202
» 2015-01-09 13:37:40
P-124486
pekfos
» 2015-01-09 15:05:00
Twój wymyślony zapis do oznaczania wklejonego kodu źródłowego jest do niczego niepodobny. Teraz poprawione, ale zapoznaj się lepiej z zasadami zakładania tematów.
P-124490
« 1 »
  Strona 1 z 1