#k-means #wgpu #image #color-palette #graphics

kmeans-color-gpu

在 GPU 上计算图像的平均颜色以进行颜色量化

1 个不稳定版本

0.1.0 2023年9月26日

#722 in 图像


用于 kmeans-color-gpu-cli

MIT 许可证

150KB
3.5K SLoC

Rust 3K SLoC // 0.0% comments WebGPU Shader Language 776 SLoC // 0.0% comments

k-means-gpu

使用 k-means 聚类计算图像中的 k 个平均颜色,利用 GPU 进行繁重的计算。

完全受 kmeans-colors 的启发。

Turtles

限制

由于此工具将图像作为纹理加载到图形卡上,因此它还受到 GPU 后端的限制:如果原始图像大于 8192x8192 像素,则不会工作。

示例

Tokyo

创建用 k-means 变体替换颜色的图像

cargo run --release -- reduce -i .\gfx\tokyo.png -c 8

Tokyo with k=8

创建使用 k-means 减少颜色的抖动图像

cargo run --release -- reduce -i .\gfx\tokyo.png -c 8 -m dither

Tokyo with k=8

输出调色板

cargo run --release -- palette -i .\gfx\tokyo.png -c 8 -s 40

Tokyo palette with c=8

查找颜色并将它们用作替换

cargo run --release -- find -i .\gfx\tokyo.png -p "#050505,#ffffff,#ff0000"

Tokyo with looked up colors

查找颜色并将它们用于抖动图像

cargo run --release -- find -i .\gfx\tokyo.png -p "#050505,#ffffff,#ff0000" -m dither

Tokyo with looked up colors

通过加载调色板查找颜色以抖动图像

cargo run --release -- find -i .\gfx\tokyo.png -p .\gfx\apollo-1x.png -m dither

Tokyo with looked up colors

来源

我必须阅读很多资料才能开始理解它。

许可证

MIT

依赖项

~4–36MB
~550K SLoC