Files

55 lines
1.6 KiB
Python

import os
from io import BytesIO
from urllib.parse import urlparse
import requests
from PIL import Image
from torchvision import transforms
def get_image_name_from_url(url):
parsed_url = urlparse(url)
path = parsed_url.path
filename = os.path.basename(path)
return filename
def download_image(url, save_path):
response = requests.get(url, stream=True)
if response.status_code == 200:
with open(save_path, 'wb') as file:
for chunk in response.iter_content(1024):
file.write(chunk)
print(f"图片已成功下载到: {save_path}")
else:
print(f"下载失败,HTTP 状态码: {response.status_code}")
def download_video(url, save_path):
response = requests.get(url, stream=True)
if response.status_code == 200:
response = requests.get(url)
response.raise_for_status() # 检查HTTP错误
filename = os.path.basename(urlparse(url).path)
with open(save_path + "/" + filename, "wb") as f:
f.write(response.content)
return save_path + "/" + filename
def image_to_tensor_by_url(url):
response = requests.get(url)
response.raise_for_status()
img = Image.open(BytesIO(response.content))
image_tensor = transforms.ToTensor()(img)
image_tensor = image_tensor.unsqueeze(0)
image_tensor = image_tensor.permute(0, 2, 3, 1)
return image_tensor
def image_to_tensor(path, image_name):
image = Image.open(os.path.join(path, image_name)).convert("RGB")
image_tensor = transforms.ToTensor()(image)
image_tensor = image_tensor.unsqueeze(0)
image_tensor = image_tensor.permute(0, 2, 3, 1)
return image_tensor