簡體   English   中英

opencv TypeError: 'interpolation' is an invalid keyword argument for this function

[英]opencv TypeError: 'interpolation' is an invalid keyword argument for this function

當我嘗試使用“interpolation=cv2.INTER_CUBIC”調整圖像大小時發生錯誤。 我不知道發生了什么。 我只是按照https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_geometric_transformations/py_geometric_transformations.html?highlight=resize的指南進行操作

# from PIL import Image
import cv2

def read_img(frompath):
    # return Image.open(frompath)
    return cv2.imread(frompath)

def resize_one(img, size, outpath):
    # out = img.resize(size)
    # out.save(outpath)
    out = cv2.resize(img, size)
    cv2.imwrite(outpath, out, interpolation=cv2.INTER_CUBIC)

def resize_all(img, tasks):
    for (size, outpath) in tasks:
        resize_one(img, size, outpath)

def build_tasks(prefix, sizes):
    t = []
    for (x, y) in sizes:
        t.append(((x, y), prefix + '_' + str(x) + '_' + str(y) + '.png'))
    return t

def square_tasks(widths):
    t = []
    for w in widths:
        t.append((w, w))
    return t

def main():
    s = [72, 48, 96, 144, 192]
    p = 'logo'
    i = './logo_1280.png'
    t = build_tasks(p, square_tasks(s))
    img = read_img(i)
    resize_all(img, t)

if __name__ == '__main__':
    main()
libpng warning: iCCP: known incorrect sRGB profile
Traceback (most recent call last):
  File ".\main.py", line 39, in <module>
    main()
  File ".\main.py", line 36, in main
    resize_all(img, t)
  File ".\main.py", line 16, in resize_all
    resize_one(img, size, outpath)
  File ".\main.py", line 12, in resize_one
    cv2.imwrite(outpath, out, interpolation=cv2.INTER_CUBIC)
TypeError: 'interpolation' is an invalid keyword argument for this function

我正在使用 opencv-contrib-python 4.2.0.34

您必須在resize而不是imwrite中進行插值。

def resize_one(img, size, outpath):
    # out = img.resize(size)
    # out.save(outpath)
    out = cv2.resize(img, size,  interpolation=cv2.INTER_CUBIC )
    cv2.imwrite(outpath, out)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM