如何在不使用python添加噪音的情况下调整图像大小?

abd*_*ion 2 python opencv image image-resizing python-imaging-library

我有一张图片,我想在不破坏它的情况下调整和扩展这张图片。

图片:

形象作品

图片尺寸:

  • w=41
  • h=43

我希望它调整为的图像大小:

  • w=2000x
  • 小时=2100

我尝试了所有已知的方法:

  1. 与 PIL.Image:
    from PIL import Image
    path = "image.png"
    w, h = 2000, 2100
    img = Image.open(path)
    img = img.resize((w, h), Image.ANTIALIAS)
    img.save("re_image.png", "PNG")
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 cv2:
    import cv2
    path = "image.png"
    w, h = 2000, 2100
    img = cv2.imread(path)
    img = cv2.resize(img, (w, h), interpolation = cv2.INTER_AREA)
    cv2.imwrite("re_image.png", img)
    
    Run Code Online (Sandbox Code Playgroud)

结果是:

结果图片

ssh*_*124 5

不要使用ANTIALIAS过滤器。由于您想保留边缘的清晰度,只需使用NEAREST过滤器即可。该过滤器是默认的,如果没有参数传递给resample的参数Image.resize

img = img.resize((w, h))
Run Code Online (Sandbox Code Playgroud)

这给出了预期的结果

预期结果