Pythoner集中营生活不易 我用python

python | 图像抓取、加载与通道数处理

2018-07-20  本文已影响20人  与阳光共进早餐

这篇文章整理了在处理大量图片数据集时可能需要用到的一些东西。

主要包括:

1. 根据url下载图片

数据集很大的情况,常常需要我们自己去下载图片,这个时候就需要有个程序帮我们自动下载了。

import urllib
# img_url: the url of image
# img_path: the path you want to save image
urllib.urlretrieve(img_url,img_path)

2. 图片加载与处理

1. 用PIL加载图像

from PIL import Image

def get_image_from_path(img_path,img_region):
    image = Image.open(img_path)
    image = process_image_channels(image, img_path)
    image = image.crop(img_region)
    return image

2. 关于crop函数

3. 关于处理图像通道

def process_image_channels(image, image_path):
    # process the 4 channels .png
    if image.mode == 'RGBA':
        r, g, b, a = image.split()
        image = Image.merge("RGB", (r, g, b))
    # process the 1 channel image
    elif image.mode != 'RGB':
        image = image.convert("RGB")
        os.remove(image_path)
        image.save(image_path)
    return image

简单的做个整理吧,后期有新的问题也会继续补充在这里。

上一篇 下一篇

猜你喜欢

热点阅读