MIT-Adobe FiveK Dataset 图片自动下载

  注:经过网友的提示,发现有更为方便的获得C修过的图片。只需要下载原始的50G的raw图片,然后在电脑上面安装light room,这个软件可以应用数据集中所记录的各个修图人员的操作数据,因此里面记录了所有五个人修过的图片数据,具体可以参考:https://github.com/yuanming-hu/exposure/wiki/Preparing-data-for-the-MIT-Adobe-FiveK-Dataset-with-Lightroom

  MIT-Adobe FiveK是现在很多做图像增强(image enhancement)与图像修饰(image retouching)方面研究的人员经常会使用到的数据库。这个数据库中包含5000张dng格式的原始图片及分别由五个(A,B,C,D,E)专业修图人员手工修饰后的图片。关于该数据库的详细资料可以在:https://data.csail.mit.edu/graphics/fivek/上找到。博主目前也在作图像增强方面的算法,在该网站上面,虽然提供了原始图片的下载链接,但是修饰后的图片只提供了每个图片的独立下载链接,手工对这些图片一张张下载的话,肯定是一件令人抓狂的事情,因此博主打算应用一个python脚本来自动下载所需要的图片。

  查看网页的源码,发现这些经过修饰后的图片的URL存在一定的规律,例如:由C修饰的第一张图片的URL为https://data.csail.mit.edu/graphics/fivek/img/tiff16_c/a0001-jmac_DSC1459.tif。该地址可以划分为三部分:https://data.csail.mit.edu/graphics/fivek/img/(不变),tiff16_c(代表C修饰的图片,如果最后一个字母是D,那么就代表D所修饰的图片),a0001-jmac_DSC1459.tif(文件名)。发现这一规律之后,我们就可以运用简单的python脚本,通过图片的文件名来将图片下载到本地。

  数据集中所有文件的名称在下载原始图片的时候就可以下载下来,它们被分别放置在名为:filesAdobe.txt和filesAdobeMIT.txt这两个文件中。自动下载的脚本如下:

import os
import sys
from urllib.request import urlretrieve #改变当前工作路径
CURRENT_PATH="/home/luohang/PyLearn"#本文件所在路径
os.chdir(CURRENT_PATH)#改变当前路径 #存储图像名称的list
img_lst=[]
#读取图片名列表
with open('filesAdobe.txt', 'r') as f:
for line in f.readlines():
img_lst.append(line.rstrip("\n"))#去掉换行符 with open('filesAdobeMIT.txt', 'r') as f:
for line in f.readlines():
img_lst.append(line.rstrip("\n"))#去掉换行符 #urlretrieve 函数的回调函数,显示下载进度
def cbk(a,b,c):
'''回调函数
@a:已经下载的数据包数量
@b:数据块的大小
@c:远程文件的大小
'''
per=100.0*a*b/c
if per>100:
per=100
#在终端更新进度
sys.stdout.write("progress: %.2f%% \r" % (per))
sys.stdout.flush() #根据文件的url下载图片
for i in img_lst:
URL='https://data.csail.mit.edu/graphics/fivek/img/tiff16_c/'+i+'.tif'#下载由C所调整的图像(可根据需要下载其它的四类图像)
print('Downloading '+i+':')
urlretrieve(URL, '/media/luohang/软件/FiveK_C/'+i+'.tif', cbk)#将所获取的图片存储到本地的地址内

运行结果如下:

MIT-Adobe FiveK Dataset 图片自动下载的更多相关文章

  1. 【图文详解】python爬虫实战——5分钟做个图片自动下载器

    python爬虫实战——图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识,(没看的先去看!!)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap sho ...

  2. python爬虫实战——5分钟做个图片自动下载器

      python爬虫实战——图片自动下载器 制作爬虫的基本步骤 顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤. 一般来说,制作一个爬虫需要分以下几个步骤: 分析需求(对,需求分析非常重要, ...

  3. yandex 图片自动下载

    yandex 图片自动下载命令行程序 一个在 yandex 上搜索图片并下载到本地的 node cli 程序. 使用帮助: $0 <搜索关键词> [-t=超时(默认 1000)] [-r ...

  4. 【Python开发】【神经网络与深度学习】网络爬虫之图片自动下载器

    python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show ...

  5. 如何用Python爬虫实现百度图片自动下载?

    Github:https://github.com/nnngu/LearningNotes 制作爬虫的步骤 制作一个爬虫一般分以下几个步骤: 分析需求 分析网页源代码,配合开发者工具 编写正则表达式或 ...

  6. dedecms复制网上的带有图片的文章,图片不能自动下载到本地的解决方法

    dede有时看到比较好的文章需要复制,粘贴到自己的dede后台发布,dede是有图片自动本地化的功能,就是复制过来后自动下载到你的服务器上了,这样省去了你单独去另存图片再上传的过程,尤其是遇到有很多图 ...

  7. 基于.NetCore开发博客项目 StarBlog - (17) 自动下载文章里的外部图片

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  8. 【壁纸自动换】自动下载、更换壁纸(Bing壁纸)--XinBSBingWallPaper[2.7更新]

    XinBSBingWallPaper主要功能: 1.支持自动下载Bing壁纸.Netbian壁纸.美国国家地理杂志图片. 2.自动搜索.下载多国Bing首页壁纸. 3.支持定时自动更换桌面壁纸. 4. ...

  9. 完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]

    原文地址:http://blog.sina.com.cn/s/blog_6306f2c60102f5ub.html 完美:adobe premiere cs6破解版下载,含序列号.汉化包.注册机.破解 ...

随机推荐

  1. 【翻译】无需安装Python,就可以在.NET里调用Python库

    原文地址:https://henon.wordpress.com/2019/06/05/using-python-libraries-in-net-without-a-python-installat ...

  2. MySQL之Xtrabackup的使用

    一.Xtrabackup介绍 XtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Pe ...

  3. Requests方法 -- 参数关联与JSESSION(上一个接口的返回数据作为下一个接口的请求参数)

    前言 参数关联是接口测试和性能测试最为重要的一个步骤,很多接口的请求参数是动态的,并且需要从上一个接口的返回值里面取出来,一般只能用一次就失效了.最常见的案例就是网站的登录案例,很多网站的登录并不仅仅 ...

  4. Python中yield解析

    小探yield 查看 python yield 文档 yield expressions: Using a yield expression in a function's body causes t ...

  5. HDU - 3416-Marriage Match IV (最大流 + 最短路)

    HDU - 3416:http://acm.hdu.edu.cn/showproblem.php?pid=3416 参考:https://www.cnblogs.com/kuangbin/archiv ...

  6. Codeforces Round #506 (Div. 3) 1029 F. Multicolored Markers

    CF-1029F 题意: a,b个小正方形构造一个矩形,大小为(a+b),并且要求其中要么a个小正方形是矩形,要么b个小正方形是矩形. 思路: 之前在想要分a,b是否为奇数讨论,后来发现根本不需要.只 ...

  7. CodeForces 1187G Gang Up 费用流

    题解: 先按时间轴将一个点拆成100个点. 第一个点相当于第一秒, 第二个点相当于第二秒. 在这些点之间连边, 每1流量的费用为c. 再将图上的边也拆开. 将 u_i 向 v_i+1 建边. 将 v_ ...

  8. C# 活体检测

    活体检测有多种情形,本文所指:从摄像头获取的影像中判断是活体,还是使用了相片等静态图片. 场景描述 用户个人信息中上传了近照,当用户经过摄像头时进行身份识别. 此时,如果单纯的使用摄像头获取的影像进行 ...

  9. Promise then中回调为什么是异步执行?Promise执行机制问题

    今天发现一个问题,看下方代码 let p = new Promise(function(resolve, reject) { resolve() console.log('); }); p.then( ...

  10. 工作中遇到的99%SQL优化,这里都能给你解决方案(三)

    -- 示例表 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL ...