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

Maintain same imrect position at different resolution

我正在使用函数 imrect 裁剪图像中的 ROI 以进行进一步处理。我有两张图片要比较(假设它们相同但分辨率不同):

图片 1:1024x1024 像素,图片 2:2000x2000 像素。像素值已知,所以我不想调整图像大小。起初我select图像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 中的位置?

数学来拯救!

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