原文链接: sharp 图像操作 根据图像颜色分布判断是否是白页
上一篇: js 监听div的背景图片加载
先转灰度, 也可以不转, 反正rgb三个判断更准确
这个库的速度相当快, 应该是目前遇到最好的
也可以用这个进行图片的裁剪, 旋转, 颜色变化, 不过这东西貌似不能在web上用有点可惜
https://blog.lcddjm.com/sharp-documents-cn/article/charp3.7.html#toColorspace
https://sharp.pixelplumbing.com/
const sharp = require("sharp")
const path = "C:\\Users\\Ace\\Desktop\\Snipaste_2020-12-22_00-06-09.png"
sharp(path)
.greyscale() // 三个相同的通道
.stats()
.then(stats => {
/*
{
min: 0,
max: 255,
sum: 319093566,
squaresSum: 81264683312,
mean: 254.29348338890554,
stdev: 9.830677755700975,
minX: 123,
minY: 40,
maxX: 0,
maxY: 0
},
*/
const c = stats.channels[0]
if (c.mean >= 240 && c.stdev < 20) console.log("空白页")
})