Dla tych, którzy chcą znaleźć rozmiar obrazu w programie MATLAB, nie należy używać:
[height, width] = size(image);
To dlatego imread sklepach wartości RGB osobno (dla obrazów kolorowych), otrzymując w efekcie trójwymiarowa matryca.
Na przykład, jeśli załadowano obraz kolorowy o wysokiej rozdzielczości 500p, o szerokości 200p, powstanie matryca o wymiarach 500x200x3.
Wielkość wywołania() w ten sposób spowoduje, że wymiarowość zostanie "zwinięta", a wysokość będzie wynosić 500, ale szerokość będzie równa 600 (200 * 3).
Zamiast z:
[height, width, dim] = size(image);
powróci odpowiednie wartości 500, 200, 3.
Twój kod wygląda na prawidłowy. Czy próbowałeś użyć, powiedzmy, imfinfo, aby zobaczyć, co jest w pliku? –