用一个小脚本在win/*nix上一键下载bing每日壁纸

昨天在逛zhiyb的github(http://zhiyb.github.io/)的时候。。。点到了他的OneDrive里看了看,结果发现了一个好像很有用的小脚本:

bing.sh

#!/bin/bash -e
url="http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=10"
data="$(curl -so - "$url")"
num="$(echo "$data" | jq -r ".images | length")"
mkdir -p images
cd images
for ((i = 0; i < $num; i++)); do
imgdata="$(echo "$data" | jq -r ".images[$i]")"
url="$(echo "$imgdata" | jq -r ".url")"
[ "${url:0:4}" != "http" ] && url="http://www.bing.com/$url"
echo "$url"
base="$(basename "$url")"
base="${base%%_*}.${base##*.}"
[ -s "$base" ] && continue
curl -o "$base" "$url"
mkdir -p json
echo "$imgdata" > json/"$base.json"
done

然而跑了跑好像少了什么组件,没跑成。。

所以我用powershell改写了一个(毕竟咱用的是windows

花了一点时间就写好了。(才发现powershell简直神器啊

bing.ps1

#by chenxublog.com
mkdir images
cd images
mkdir jsons
cd jsons
$url = "http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=10"
$time = Get-Date
$data = Invoke-WebRequest $url
$data.Content | Out-File $time.DayOfYear
$decode = ConvertFrom-Json($data)
cd ..
$range = 1..8
$count = $range.Count
for($i=0; $i -lt $count; $i++)
{
    $temp = $decode.images.Get($i)
    Invoke-WebRequest $temp.url -OutFile ($temp.hsh + ".jpg")
}

把上面的文件保存为bing.ps1就好啦→_→ 

右击,运行!

啪!

啪啪啪!

这样每天就可以收到八张好看的壁纸啦~~

2017.3.5补充:

必应json改规则了,代码更新~~~

#by chenxublog.com
$x = Split-Path -Parent $MyInvocation.MyCommand.Definition
cd $x
mkdir images
cd images
mkdir jsons
cd jsons
$url = "http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=10"
$time = Get-Date
$data = Invoke-WebRequest $url
$data.Content | Out-File $time.DayOfYear
$decode = ConvertFrom-Json($data)
cd ..
$range = 1..8
$count = $range.Count
for($i=0; $i -lt $count; $i++)
{
    $temp = $decode.images.Get($i)
    $urlsplit = -Join("http://www.bing.com",$temp.url)
    echo $urlsplit
    Invoke-WebRequest $urlsplit -OutFile ($temp.hsh + ".jpg")
}
echo ok!
pause

应该正常了吧。。

利用neural-style生成和目标图像风格一致的图片(win10一周年更新版可用)

几天前在知乎发现了个问题很有趣:如何评价德国计算机神经网络科学家发表的这篇可以让电脑模仿任何画家的风格作画的论文?

里面附带了一张图:点击查看~(点击后拉到最下面可以放大)

然后我在问题里发现有人已经集成好了,发到了github上面:

https://github.com/jcjohnson/neural-style

怀着不嫌麻烦的精神,为了满足自己的好奇心,开始了这几天的折腾

先是看到这货不支持windows,于是我找到了几个Python版本。。。然而。。也没法运行在windows上。。

后来我想到了,win10一周年更新版好像自带了一个Ubuntu子系统来着(微软大法好

下面讲讲怎么运行这玩意

0x00、打开linux的bash命令行:

你可以:

  1. 直接在linux系统里跑(直接跳过这一段

  2. 在win10一周年更新版中运行(仅限专业版,家庭版貌似没有这个功能)之前疏忽,其实是有的)

开启win10bash方法:

  1. 右击开始菜单-控制面板

  2. 点击“程序”那一栏下面的“卸载程序”

  3. 点击左边栏的“启用或关闭windows功能”

  4. 拉到最下面,选上“适用于linux的windows子系统”(如果没有这一项,说明你的系统不是win10专业版或没进行上一周年更新升级)

5.重启之后,按win+r(windows徽标键+R键)呼出运行窗口,输入“cmd”,然后回车。

这时可能要设置密码和用户名,自己设置吧。

最后在输入框内输入“bash”,并且回车,即可开启bash。

0x01、将源换为国内源:

首先取得root权限,这样方便,如果不想这样的话,可能会权限不足,只要命令前面加一句“sudo”即可:

sudo su
#然后输入密码回车

为了下载软件快点,所以把源还为国内的

输入指令:

sudo vi /etc/apt/sources.list

按一下“INSERT”键,删掉原有的所有文字,换上你要用的源,具体的列表可以见此(点击查看),由于我在学校,所以用的是中国科学技术大学更新服务器的源,如下:

deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

复制之后按右键即可粘贴,输入完毕后按“ESC”然后输入“:wq”回车即可保存。

0x02、安装torch7运行库:

依次运行如下命令:

cd ~/
curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; ./install.sh

下载过程可能较长,可以喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后一小时过去了

设置环境变量,运行如下命令:

source ~/.bashrc

0x03、安装loadcaffe运行库:

输入命令安装必要的包:

sudo apt-get install libprotobuf-dev protobuf-compiler

由于更换了国内源,速度应该是很快的,如果速度只有一秒十几k,请更换源再试

输入指令安装loadcaffe:

luarocks install loadcaffe

这个下载过程也可能较长,可以再喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后又一个小时过去了

0x04、下载最后的大boss:

依次运行命令:

cd /mnt/e/test/    # 这里指“E:\test”文件夹,根据自己的需要改吧
git clone https://github.com/jcjohnson/neural-style.git
#上面从github下载比较慢的可以试试我fork到国内的源:
#https://git.oschina.net/chenxuuu/neural-styleneural-style.git
cd neural-style

这个下载过程也可能较长,可以再再喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后又一个小时过去了

运行如下命令下载最后需要的大头。几百M,很大,我是直接用qq旋风下载的然后复制进去的2333

sh models/download_models.sh

这个下载过程也可能较长,可以再再再再再再喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后又一天过去了

做完这些事之后运行下面的命令测试一下能不能运行:

th neural_style.lua -gpu -1 -print_iter 1

如果显示如下图所示的东西就说明可以运行:

0x05、来运行吧!:

先切换到软件文件夹下(自己看着改吧!路径不一定和我的一样)

cd /mnt/e/test/neural-style

把图片也扔到这个文件夹下面~(必须jpg格式)

运行命令!(CPU燃烧吧!)

th neural_style.lua -style_image the_scream.jpg -content_image in.jpg -gpu -1
#命令解释:th neural_style.lua -style_image 风格图片 -content_image 想处理的图片 -gpu -1 ←win10自带的不支持cuda,所以就让CPU累着吧2333

生成结果很好啊:

选择的图:

风格图:

生成结果:

另外生成的时候会每运行10%放出一张预览图,下面的就是:

最后,小彩蛋: