2017112607290643

Waifu2x+PHP实现自动批量放大图片

PHP
3268
16
2019-07-07

waifu2x,著名的二次元图片壁纸放大降噪神器
之前介绍过(传送门),就不赘述了

那这次我要搞什么玩意儿呢?
众所周知,我有一个壁纸包,每隔十分钟就会随机选择一张作为我的电脑壁纸
这个壁纸包伴随了我3年有余,有一些早期收集的壁纸分辨率连1080P都不到。挨个儿手动挑出来丢waifu2x放大一波?工程太大太麻烦;整个文件夹丢waifu2x?太费时不说,有些图片可能格式比较特殊,会导致 waifu2x-caffe 报错崩溃

那么,有没有什么办法,既可以按需放大、又能断点续处理、还不会因为少部分特殊图片报错导致整体进度被卡住呢?
当——然——有——啦!

<?php

// waifu2x-caffe-cui.exe 完整路径
$waifu2x = 'E:/Program Files/waifu2x-caffe/waifu2x-caffe-cui.exe';
// 原图所在路径
$input = 'E:/OneDrive/图片/高清壁纸/';
// 处理后图片存放路径
$output = 'E:/waifu2x/';

// 以下内容请勿随意修改
$fileList = scandir($input);
foreach ($fileList as $file) {
    // 方便断点续处理
    if (!file_exists($output . $file)) {
        $imageInfo = getimagesize("{$input}{$file}");
        if ($imageInfo) {
            // 图片宽度低于 2000 像素时才处理
            if ($imageInfo[0] < 2000) {
                echo "{$file}...\n";
                $shell = "\"{$waifu2x}\" -i \"{$input}{$file}\" -o \"{$output}{$file}\" -m noise_scale --scale_ratio 1.5 --noise_level 2";
                exec($shell);
            }
        } else {
            echo "【文件异常】 {$file}\n";
            var_dump($imageInfo);
        }
    }
}

echo "\nAll Done.\n";

以上内容保存为任意文件名,然后在命令行下用 php [任意文件名].php 执行并等待完毕即可
其中,前三个变量需要根据你本地的实际情况修改为对应的路径
$shell 变量为命令内容,其中 --scale_ratio 表示放大倍数;--noise_level 表示降噪级别
其他更多参数及具体含义可以看官方文档的介绍

昵称
邮箱
网址
VPS234主机测评的头像 2019-09-20 20:40

博主你这个配图很和主题啊,是不是在暗示什么,O(∩_∩)O哈哈~

Sendya的头像 2019-09-01 23:17
Sendya

老婆放大器 (:3」∠)

mokeyjay的头像 2019-09-02 17:54
mokeyjay 博主

哇是大佬,awsl
最近正准备靠你的 ant design pro 吃饭 (:3」∠)

Sendya的头像 2019-09-02 18:28
Sendya

没有没有,不是大佬
代码很烂 不要介意就好 (:3」∠)

演员的头像 2019-07-25 08:48

你真棒

微信抢房的头像 2019-07-19 15:45

这图是亮点

绅士福利的头像 2019-07-16 20:36

挺好的哈。。

Aruelius的头像 2019-07-16 16:23

这奇怪的语法高亮

mokeyjay的头像 2019-07-16 16:23
mokeyjay 博主

懒得修了,准备好搞大事了

某亚瑟的头像 2019-07-08 09:44

两倍的老婆,两倍的快乐

giuem的头像 2019-07-08 08:28
giuem

bash 能解决的事,非要用 PHP 🌚🌚🌚

mokeyjay的头像 2019-07-08 09:20
mokeyjay 博主

bash好像原生不能获取图片宽度,也没法跨平台(而且我也菜

repostone的头像 2019-07-07 17:12

非技术的路过。

呆头空的头像 2019-07-07 16:08

小紫又水了一篇文章(

mokeyjay的头像 2019-07-07 16:27
mokeyjay 博主

你的博客呢

呆头空的头像 2019-07-07 16:31

由于 AlphaRacks 跑路,暂时挂掉惹 qwq
打算等期末考完试之后再重建(