2016-03-07 3 views
1

У меня есть два изображения. Я хочу видеть больше деталей в специальном регионе (ROI). Следовательно, я нарисую красный прямоугольник и увеличим его как оригинальный размер (256 на 256) и покажу во второй строке как мой ожидаемый результат. Не могли бы вы помочь мне решить эту проблему в MATLAB? Это мой текущий кодКак увеличить изображение ROI в MATLAB

Img1 = imread('peppers.png'); 
Img2 = imread('coins.png'); 
Img1=imresize(Img1,[256 256]); 
Img2=imresize(Img2,[256 256]); 
%%Draw rectangle 
subplot(221);imshow(Img1); rectangle('Position',[100 50 20 20], 'LineWidth',2, 'EdgeColor','r'); 
subplot(222);imshow(Img2);rectangle('Position',[100 50 20 20], 'LineWidth',2, 'EdgeColor','r'); 
%% zoom in image 

enter image description here

ответ

1

Постарайся это (при появлении изображения, используйте mouse, чтобы выбрать интересующую область):

Img1 = imread('peppers.png'); 
Img1=imresize(Img1,[256 256]); 

f=figure; 
imshow(Img1); 
rect = getrect(f); %//select roi with mouse 
Img1_roi = Img1(rect(2) : (rect(2)+rect(4)) , rect(1) : (rect(1)+rect(3)) , :); %//store roi in matrix 

Img2 = imread('coins.png'); 
Img2= imresize(Img2,[256 256]); 

f=figure; 
imshow(Img2); 
rect = getrect(f); %//select roi with mouse 
Img2_roi = Img2(rect(2) : (rect(2)+rect(4)) , rect(1) : (rect(1)+rect(3)) , :); %//store roi in matrix 

%//Plot 
subplot(2,2,1) 
imshow(Img1) 
subplot(2,2,2) 
imshow(Img2) 
subplot(2,2,3) 
imshow(Img1_roi) 
subplot(2,2,4) 
imshow(Img2_roi) 
+1

@ user8264 вместо 'Прямоугольник = getrect (f) ', введите« rect »самостоятельно в коде. Например, если я хочу вырезать область, начинающуюся с '(100,100)' 'width = 80' и' height = 90', установите 'rect = [100 100 80 90]'. Остальная часть кода остается той же – Lincoln

+0

Это хорошо работает. У меня просто другой вопрос. Вы знаете, как нарисовать ограничительную рамку для третьего изображения (Img1_roi) и последнего изображения. Я хочу нарисовать красный цвет, который покрывает эти изображения как вопрос обновления – user8264

+1

@ user8264 Добавьте эту строку под 'imsh1 (Img1_roi)': 'rectangle ('Position', [1 1 90 60], 'LineWidth', 2, 'EdgeColor' , 'r') ', где' 90' и '60' - это' width' и 'height' изображения roi. – Lincoln

Смежные вопросы