找到调整大小的图像的矩形的新位置

时间:2014-11-25 09:05:08

标签: image image-processing matlab

我有一个四元素位置向量[xmin ymin width hight],用于指定图像I中裁剪矩形的大小和位置。如何找到已调整大小的图像I的新位置和大小?

2 个答案:

答案 0 :(得分:0)

由于我们不了解你的坐标系,所以你想要的并不完全清楚。假设x是水平轴而y是垂直轴,而你的点(1,1)位于左上角,则可以使用以下代码段:

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

尺寸当然是您指定的宽度和高度。

答案 1 :(得分:0)

您可以将原始边界框转换为相对值(假设图像大小为1x1)

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

现在,无论你如何调整origI的大小,你都可以从相对表示中恢复新大小的边界框:

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

您可能需要round一些事情:您可能会发现floor更好xminyminceil更适合width }和height