在不同的分辨率下保持相同的正确位置

时间:2017-01-09 09:01:18

标签: image matlab image-processing crop resolution

我使用函数imrect来裁剪图像中的ROI以进行进一步处理。我有两个图像可供比较(想象它们是相同但分辨率不同):

图像1:1024x1024像素和图像2:2000x2000像素。像素值已知,因此我不想调整图像大小。首先,我使用可拖动的矩形选择图像1中的ROI:

imshow(image1);
h=imrect(gca,[10 10 200 200]); position=wait(h);
I=imcrop(image1,position);

然后我打开image2,这是不同分辨率的相同图像。现在我需要计算imrect的位置,以便它涵盖相同的投资回报率。由于分辨率不同,此图像中ROI的位置不同。所以imrect的位置也应该不同。

对于image2我想运行这样的代码,但我不知道如何估算位置变量:

imshow(image2);
I2=imcrop(image2,unknown_position);

如何估算image2中的位置?

1 个答案:

答案 0 :(得分:0)

数学救援!

x_2 = x_1 * width_2 / width_1
y_2 = y_1 * height_2 / height_1