BSD500数据集下载和处理

首先,用urllib获取数据,写个压缩包文件,把数据存进去,解压压缩包文件,形成带有数据的目录。 



from os.path import exists, basename, join
from os import makedirs, remove
from six.moves import urllib
import tarfile
class download_basd300(object):
    def __init__(self, dest="dataset"):
        self.output_image_dir = join(dest, 'BSD500/images')

        if not exists(self.output_image_dir):
            makedirs(self.output_image_dir)
            url = "http://www2.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/BSDS300-images.tgz"

            print("download url", url)

            data = urllib.request.urlopen(url)

            file_path = join(dest, basename(url))
            
            with open(file_path, 'wb') as f:
                f.write(data.read())

            print('Extracting data')
            with tarfile.open(file_path) as tar:
                for item in tar:
                    tar.extract(item, dest)

            remove(file_path)
            self.get()

    def get(self):
        return self.output_image_dir

dataset = download_basd300()

猜你喜欢

转载自blog.csdn.net/weixin_40823740/article/details/115317377