class _FakeImg():
def __init__(self, size): self.size=size
= _FakeImg((200,500))
img 400), [160,400])
test_eq(resize_to(img, 400, use_min=True), [400,1000]) test_eq(resize_to(img,
视觉工具集
一些用于快速下载、检查和预处理图片(调整大小)的工具函数
download_images
download_images (dest, url_file=None, urls=None, max_pics=1000, n_workers=8, timeout=4, preserve_filename=False)
下载文本文件 url_file
中列出的图片到路径 dest
,最多下载 max_pics
张
resize_to
resize_to (img, targ_sz, use_min=False)
按相同宽高比调整大小,以达到 targ_sz
,采用 PIL 坐标 (即 宽*高)
verify_image
verify_image (fn)
确认 fn
文件可以打开
verify_images
verify_images (fns)
查找 fns
中无法打开的图片
resize_image
resize_image (file, dest, src='.', max_size=None, n_channels=3, ext=None, img_format=None, resample=<Resampling.BILINEAR: 2>, resume=False, **kwargs)
将文件调整大小并保存到 dest,最大尺寸为 max_size
file = 'puppy.jpg'
= Path('.')
dest file, dest, src='images', max_size=400)
resize_image(= Image.open(dest/file)
im 1],400)
test_eq(im.shape[/file).unlink() (dest
file = 'puppy.jpg'
= Path('images')
dest file, dest, src=dest, max_size=None) resize_image(
resize_images
resize_images (path, max_workers=4, max_size=None, recurse=False, dest=Path('.'), n_channels=3, ext=None, img_format=None, resample=<Resampling.BILINEAR: 2>, resume=None, **kwargs)
递归地调整路径下文件大小并保存到 dest,最大尺寸为 max_size
with tempfile.TemporaryDirectory() as d:
= Path(d)/'resized_images'
dest 'images', max_size=100, dest=dest, max_workers=0, recurse=True) resize_images(