强度 100% = 完全去色,往回调可以与原图叠加出「半褪色」效果。
二值化后的图只有纯黑纯白两种像素,用 PNG 体积最小且无损。
选张图,选个效果,一键变黑白或做旧。
看着都是「变灰」,数学上完全是四件事。
| 效果 | 算法 | 视觉特点 | 适合 |
|---|---|---|---|
| 灰度黑白 | Y = 0.299R + 0.587G + 0.114B | 标准黑白照片,明暗层次保留完整 | 人像、纪实、打印素材 |
| 怀旧复古 | Sepia 色彩矩阵(暖棕调) | 泛黄老照片,带温度感 | 复古海报、情怀配图 |
| 纯黑白二值 | 亮度 > 阈值 → 白,否则黑 | 只有纯黑纯白,无中间灰 | 文字扫描件、线稿、印章 |
| 反相 | R/G/B 各自取 255 − 原值 | 底片效果 | 设计素材、特殊视觉 |
二值化是最容易翻车的效果,成败全在阈值这一个数。
| 阈值 | 结果 | 适合 |
|---|---|---|
| 偏低(60~100) | 大部分变白,只有很暗的留下 | 白底黑字的清晰打印件 |
| 居中(128) | 黑白各半,默认平衡点 | 对比度正常的扫描件 |
| 偏高(150~200) | 大部分变黑 | 浅色背景上的浅字、泛黄老纸 |
⚠️ 免责声明:去色与二值化为不可逆处理,颜色信息会永久丢失,请务必保留原图。
纯黑白二值会丢弃全部中间灰度,文字类图片若阈值不当可能变成一团黑或一片白,建议先小图试阈值。
所有处理在你的浏览器本地完成,图片不会上传到任何服务器。
把彩色照片变黑白,看起来是最简单的需求,但真要做对,不是直接把 R=G=B 就完事。
人眼对不同颜色的敏感度不一样——对绿色最敏感、对蓝色最迟钝,所以标准的灰度公式是 Y = 0.299R + 0.587G + 0.114B,而不是三通道求平均。用平均值做出来的黑白会发灰、发闷。
这个工具给了四种效果:
① 灰度黑白:用上面的标准亮度公式逐像素计算,明暗层次保留得最完整,是最常用的一种;
② 怀旧复古(Sepia):套一层暖棕色调矩阵,让画面泛黄,模拟老照片的褪色感,比单纯去色更有情绪;
③ 纯黑白二值:每个像素按亮度与阈值比较,大于阈值给纯白,否则给纯黑——只留两种颜色,中间灰全部丢弃;这是扫描件、线稿、印章处理的利器,但阈值没调好就会糊成一团;
④ 反相:R/G/B 各自取 255 − 原值,得到底片效果。
灰度与怀旧都支持 0~100% 强度无级调节:100% 是完全去色,往回调可以与原图叠加,做出「半褪色」的中间状态,比一刀切更有味道。
可以一次选多张批量处理,逐张预览,单张下载或打包 ZIP。
整个流程都在你自己的浏览器里跑,照片不会上传到任何服务器。
怎么算:
① 图片画进 canvas,用 getImageData 拿到每个像素的 R / G / B / A;
② 灰度:Y = 0.299R + 0.587G + 0.114B,再按强度 k 与原值混合 v' = v·(1−k) + Y·k;
③ 怀旧:先算灰度 Y,再套 sepia 目标色(R = Y·1.07、G = Y·0.94、B = Y·0.76,并做 255 截断),同样按强度混合;
④ 二值:Y 与阈值 T 比较,Y ≥ T → 255,否则 0,强度滑杆在二值模式下直接映射为阈值 0~255;
⑤ 反相:v' = 255 − v;
⑥ 写回 putImageData,按原尺寸导出,不缩放、不裁剪;透明通道 alpha 始终保持原值。
它不做:不做局部调整、不做智能识别、不添加颗粒噪点。去色不可逆,请保留原图。
审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!