Scilab/Grafika - konwersja RGB24bit do BW8bit - co jest źle?

Witam. Mój problem dotyczy programu Scilab i przetwarzania grafiki z wykorzystaniem toolboxu SIVP (http://sivp.sourceforge.net/). Chciałem napisać kod przetwarzający 24-bitową grafikę w kolorze na 8-bitową grafikę czarno-białą. W tym celu napisałem taki kod:

clear all, clc, clf // wyczyść wszystko

obraz_we=imread('obraz_rgb.bmp'); // wczytaj obraz_we (funkcja dostępna dzięki SIVP)


imshow(obraz_we); // pokaż obraz_we (funkcja dostępna dzięki SIVP)


[wys, szer, gl]=size(obraz_we) //pobierz i wypisz rozmiar obrazu

obraz_wy=zeros(wys,szer); // utwórz macierz o wym wys x szer.


for w=1:wys

  for s=1:szer

    r=obraz_we(w,s,1); // pobierz współrzędne koloru

    g=obraz_we(w,s,2);

    b=obraz_we(w,s,3);

    sr=round((r+g+b)/3); // wylicz odcień szarości

    obraz_wy(w,s)=sr; // przypisz wartość do obraz_wy (?)

  end;

end;

obraz_we - obraz 24-bit na wejściu, wczytywany z pliku bmp.

obraz_we - obraz 8-bit na wyjściu.

Problem jest z linijką oznaczoną symbolem (?). Jeśli ją zakomentuję, kod wykonuje się do końca, jeśli nie - skrypt się zawiesza. Co może być tego przyczyną? Pozdrawiam i z góry dzięki za odpowiedzi.

Sprawdź na małym obrazku np 16x16 pikseli.

Dzięki za wskazówkę. Grafiki małe wykonują się od razu. Kazałem temu skryptowi wypisywać numery wierszy - okazuje się, że jednak działa - ale baaardzo wolno - dla grafiki o wymiarach (512x512) jeden wiersz wykonuje się około 10 sek.

Natomiast już operacje na grafice 8 bitowej chodzą znacznie szybciej - binaryzacja grafiki o wymiarach 256x256 zajmuje kilka sekund.

Wniosek: Scilab nie nadaje się do przetwarzania grafiki 24-bit.