簡體   English   中英

將預定義函數的輸入從url更改為本地文件

[英]change the input of a pre-defined function from a url to a local file

我需要將此功能從url輸入更改為本地文件輸入

def download_and_resize_image(url, new_width=256, new_height=256,display=False):

    _, filename = tempfile.mkstemp(suffix=".jpg")
    response = urlopen(url)
    image_data = response.read()
    image_data = BytesIO(image_data)
    pil_image = Image.open(image_data)
    pil_image = ImageOps.fit(pil_image, (new_width, new_height), Image.ANTIALIAS)
    pil_image_rgb = pil_image.convert("RGB")
    pil_image_rgb.save(filename, format="JPEG", quality=90)
    print("Image downloaded to %s." % filename)
    if display:
      display_image(pil_image)
    return filename

這段代碼是我老師給我的。 如何將輸入更改為本地文件?

我查看了請求庫,但對函數感到不滿意。 是否有預定義的函數來獲取本地文件,或者應該如何對預定義的函數進行哪些更改?

Image.open方法采用文件路徑和模式。 看這里 您應該能夠用文件路徑替換url並將其放在Image.open中

pil_image = Image.open(filepath)

只需傳入filepath作為參數,然后從fileapth讀取。 嘗試這個。

def download_and_resize_image(filepath, new_width=256, new_height=256,display=False):

# _, filename = tempfile.mkstemp(suffix=".jpg")
# response = urlopen(url)
# image_data = response.read()
# image_data = BytesIO(image_data)
pil_image = Image.open(filepath)
pil_image = ImageOps.fit(pil_image, (new_width, new_height), Image.ANTIALIAS)
pil_image_rgb = pil_image.convert("RGB")
pil_image_rgb.save(filename, format="JPEG", quality=90)
print("Image downloaded to %s." % filename)
if display:
display_image(pil_image)
return filename

暫無
暫無

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

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