我正在处理大量不同大小的图像。我将这些图像叠加在这些图像上。我需要在各种尺寸的图像上实现统一的外观。请参见下面的图像
图像1和2中的橙色矩形的大小相同,但是图像看起来并不相同。我如何缩放橙色矩形,以便在任何尺寸的图像上看起来均匀。
我尝试了以下
scalewidth = (float)overlayimage.Width * ((float)currentimage.Width / (float)refsize.Width);
scaleheight = (float)overlayimage.Height * ((float)currentimage.Height / (float)refsize.Height);
答案 0 :(得分:0)
您可以通过将前景缩放到背景图像宽度来实现。
b_h, b_w, b_ch = background.shape
o_h, o_w, o_ch = orange.shape
imgScale = b_w/o_w
new_o_h,new_o_w = int(o_h*imgScale), int(o_w*imgScale)
new_orange = cv2.resize(orange,(new_o_w, new_o_h))
现在您可以叠加。