Возможно ли, чтобы отметки на изображении были сосредоточены вокруг -конца пикселя? - PullRequest
3 голосов
/ 17 апреля 2010

Если я создаю изображение 4 на 4 пикселя в Matlab с помощью команды image (), он центрирует отметки в середине пикселей. Я хочу, чтобы отметки были в центре левого нижнего угла пикселя. Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 17 апреля 2010

Попробуйте следующее:

a = randi([0 255], [4 4]);
figure, imagesc(a), caxis([0 255])

b = zeros( size(a)+1 );
b(1:end-1,1:end-1) = a;
figure, pcolor(b), caxis([0 255]), axis ij

Обратите внимание, что я расширил матрицу a, потому что pcolor удаляет последнюю строку / столбец.

A B

1 голос
/ 17 апреля 2010

Я думаю, этот код будет делать то, что вы хотите.Он ставит отметки только по краям пикселей:

A = ...;  %# Your 4-by-4 matrix
image([0.5 3.5],[0.5 3.5],A);      %# Pixel edges are at 0, 1, 2, 3, and 4
set(gca,'XTick',0:4,'YTick',0:4);  %# Place tick marks at 0, 1, 2, 3, and 4
1 голос
/ 17 апреля 2010

Вы можете указать координаты x и y пикселей и сместить их на 0.5:

image([0.5,3.5],[0.5,3.5],magic(4))
...