Мне было предоставлено условное изображение, и теперь мне нужно создать границы для изображения. Я решил, что ширина обеих моих черных и белых границ должна быть 25 пикселей каждый. Мой код ниже:Почему изображение не отображается правильно? MATLAB
%% Reading the Image in
imdata = imread('image1.png');
%%Creating a new matrix for image3
e_imdata = zeros(300,356);
% First Rectangle of white
for l = 25:331
for m = 25:50
e_imdata(m,l) = 255;
end
end
%% Second Rectangle of White
for l = 25:331
for m = 250:275
e_imdata(m,l) = 255;
end
end
%% Third Rectangle of White
for l = 25:50
for m = 50:250
e_imdata(m,l) = 255;
end
end
%% Fourth Rectangle of White
for l = 306:331
for m = 50:250
e_imdata(m,l) = 255;
end
end
%% Copying the Actual Image in
for l = 51:305
for m = 51:199
e_imdata(m,l) = imdata(m-50,l-50);
end
end
%% Final imsow
imshow(e_imdata);
Я пытаюсь добавить каждую границу белого прямоугольника по одному. Это, конечно, успешно, но мой последний образ не выходит так, как я этого хочу.
Исходное изображение:
Мне нужно создать этот образ:
И я, кажется, получаю это изображение:
Вся помощь и предложения очень ценятся!
Почему не 'e_imdata (26: 275, 26: 331) = 256;' установить белый кадр. Затем 'e_imdata (51: 199, 51: 305) = imdata;' для установки изображения. – zeeMonkeez
@zeeMonkeez Это отличная идея, но это, безусловно, не решение моей проблемы. По крайней мере, я так не думаю! –
Трудно сказать, что происходит, когда у нас нет фактического файла. Отображается ли исходное изображение в порядке с 'imshow'? – zeeMonkeez