Да, вы всегда можете выбрать одинаковые пропорции изображения. Например, извлеките прямоугольник с координатами, заданными фиксированным отношением (или процентом)
img_w = 1000 # = cvImage.width
img_h = 1000 # = cvImage.height
tl_x = 10.0 / 100.0
tl_y = 10.0 / 100.0
br_x = 90.0 / 100.0
br_y = 90.0 / 100.0
print (tl_x, tl_y, br_x, br_y)
rect_tl = (int(tl_x * img_w), int(tl_y * img_h))
rect_br = (int(br_x * img_w), int(br_y * img_h))
print (rect_tl, rect_br)
#cv.rectangle(cvImage, rect_tl, rect_br, (255,0,0), 2)
Это вычислит координаты прямоугольника на изображении размером 1000x1000, но это переменная, определенная как img_w x img_h
Жестко запрограммированный прямоугольник размещается с отступом 10%, определенным с использованием верхнего левого и нижнего правого углов
Как и ожидалось, результат будет:
0.1 0.1 0.9 0.9
(100, 100) (900, 900)