#image #palette #color-palette #color-space #statistical #another #statistics

palette-transfer

从一个图像到另一个图像的统计复制调色板

3 个版本

0.1.2 2024 年 8 月 4 日
0.1.1 2024 年 8 月 3 日
0.1.0 2024 年 8 月 3 日

#411图像

Download history 285/week @ 2024-07-31 33/week @ 2024-08-07

每月 318 次下载

Apache-2.0 OR BSD-3-Clause

1MB
722

将一个图像的调色板复制到另一个图像

使用不同的颜色空间和统计方法从源图像复制调色板到目标图像。

示例

let source = ImageReader::open("./assets/dwl.jpeg")
        .unwrap()
        .decode()
        .unwrap();
let source_dimensions = source.dimensions();
let destination = ImageReader::open("./assets/twl.jpeg")
    .unwrap()
    .decode()
    .unwrap();
let destination = destination.to_rgb8();
let destination_dimension = destination.dimensions();
let src = source.as_bytes();
let target = destination.as_bytes();
let mut dst = Vec::from(target);
copy_palette_rgb(
    src,
    source_dimensions.0,
    source_dimensions.1,
    & mut dst,
    destination_dimension.0,
    destination_dimension.1,
    1.,
    TransferColorspace::OKLAB,
)
.unwrap();

image::save_buffer(
    "converted_oklab.jpg",
    & dst,
    destination_dimension.0,
    destination_dimension.1,
    image::ExtendedColorType::Rgb8,
)
.unwrap();

结果示例

依赖项