Opiszę mniej więcej jak to działa.
Program wczytuję ścieżki plików oryginalnych i tych po kompresji. Przerabia go na 3 tablice RGB o typie danych I16. No właśnie czemu te I16. Wg wzoru PSNR
http://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio muszę odjąć obrazki od siebie. Jak się odejmuje w LAbview przy U8 to zauważyłem,że jak druga wartość piksela jest większa od pierwszej to program zaczyna zmniejszać od 255 i później podnosząc to do kwadratu otrzymuje się kosmicznie duze wartości i psnr wychodzi niezgodny z prawdą, więc przerabiam tabele na i16<-co też niestety pobiera czas. Po przerobieniu na tablice obliczam dla poszczególnych składowych RGB. No i da się tu coś poprawić, żeby to działało szybciej, lepiej? Proszę o wszelkie sugestie.
Ze względu, że pliki bmp zajmują sporo miejsca, to wrzuciłem tylko po 3 klatki dla każdego i jeszcze przerobione na jpg. Więc w programie trzeba zmienić ścieżkę, gdzie zainstulejcie pliki oryginalne 000.jpg, 001.jpg, 002.jpg z folderu oryg i po kompresji z folderu 15.
Ilość plików bmp, które były wczytywane to 148 klatek. Więc w sumie porównywanych jest 2x148 klatek.
Jeszcze screen performance u mnie przy porównywaniu po 148 klatek oryginalnych z 148 po kompresji:

Wkradł się błąd i załączyłem zły plik konwersji do tablicy, powinien być ten drugi, który załączyłem oddzielnie.
Jeszcze dorzucam pliki w formie graficznej:
Główny program:
http://img834.imageshack.us/img834/8787/maind.jpg
Obraz->Tablica:
http://img834.imageshack.us/img834/9457/conversion.jpg
PSNR:
http://img836.imageshack.us/img836/4407/psnr.jpg
i jeszcze jeden performance:
http://img837.imageshack.us/img837/9964/razzz.jpg



