2014-11-25 2 views
0

У меня есть вектор с четырьмя позициями [xmin ymin width hight], который определяет размер и положение прямоугольника обрезки из изображения I. Как я могу найти новое положение и размер для измененного размера изображения I?Найти новое положение прямоугольника для изменения размера изображения

+0

у вас есть размер оригинального изображения? – Shai

ответ

0

Не совсем понятно, что вы хотите, так как мы не знаем вашу систему координат. Предполагая, что Х представляет собой горизонтальную ось, и у является вертикальная ось и ваша точка (1,1) находится в верхнем левом углу, можно использовать следующий фрагмент:

p = [xmin ymin width height]; 
I = I_orig(p(2):p(2)+p(4)-1,p(1):p(1)+p(3)-1); 

размер конечно указанный Вами ширина и высота.

0

Вы можете преобразовать исходную ограничительную рамку для относительных значений (то есть если предположить, что размер изображения 1x1)

[origH origW] = size(origI(:,:,1)); 
relativeBB = [xmin/origW, ymin/origH, width/origW, hight/origH]; 

Теперь, независимо от того, как вы изменить размер вашего origI, вы можете восстановить ограничительную рамку WRT новые размер от относительного представления:

[currH currW] = size(I(:,:,1)); 
currBB = relativeBB .* [currW, currH, currW, currH]; 

Вам может понадобиться round вещи немного: вы могли бы найти floor лучше xmin и ymin и ceil больше подходит для width и height.

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