如何使两个不同的图像大小相等

时间:2015-06-04 21:28:59

标签: image-resizing

OpenCV中的大部分功能都要求src1和src2的大小必须相等。 有谁知道我是否有两个不同尺寸的图像文件,如何使尺寸相同?

4 个答案:

答案 0 :(得分:0)

您可以缩放它们以匹配,通常是通过缩小较大的图像。问题在于他们必须具有相同的宽高比,如果他们不必裁剪图像而不裁剪重要部分。

在opencv中缩放图像:

答案 1 :(得分:0)

当然,您可以裁剪:https://stackoverflow.com/a/8268062/3076403或调整图片大小:How to resize an image to a specific size in OpenCV?

但你真的需要这样做吗?请说明,你想要达到什么目标?

大多数OpenCV函数将一个图像处理为另一个图像,进行空间像素到像素的操作(例如,过滤,形态学操作)。这样它就可以生成与原始图像大小相同的输出图像,这是一种理想的行为。

答案 2 :(得分:0)

from PIL import Image

img = Image.open('frog.jpg')

img2 = Image.open('cat.jpg')

Nimg = img.resize((220,180))   # image resizing

Nimg2 = img2.resize((220,180))

答案 3 :(得分:0)

2020年更新: 该库可以很好地处理它,包括在需要时进行扩展和裁剪: https://pypi.org/project/image-tools/

from PIL import Image
from image_tools.sizes import resize_and_crop

img_target_size = Image.open('img1.png')
img_to_resize = resize_and_crop(
    'img2.png', 
    (img_origin_size.size[0],img_origin_size.size[1]), #set width and height to match img1
    crop_origin="middle"
    )
output = img_to_resize.save('resized_img2.png')