#ocr #ai #text-image #object #segment-anything

kalosm-vision

一套预训练的视觉模型

5 个不稳定版本

0.3.2 2024年8月14日
0.3.0 2024年8月13日
0.2.1 2024年2月28日
0.2.0 2024年2月18日
0.1.0 2023年12月16日

#306 in 图像

Download history 2/week @ 2024-05-15 5/week @ 2024-05-22 5/week @ 2024-05-29 9/week @ 2024-06-05 6/week @ 2024-06-12 9/week @ 2024-06-19 13/week @ 2024-06-26 1/week @ 2024-07-03 6/week @ 2024-07-10 5/week @ 2024-07-17 3/week @ 2024-07-24 7/week @ 2024-07-31 90/week @ 2024-08-07 173/week @ 2024-08-14

每月下载量 273
kalosm 中使用

MIT/Apache

145KB
1.5K SLoC

Kalosm Vision

Kalosm Vision是Kalosm框架的一组图像模型和实用工具。它包括从文本生成图像和将图像分割成对象的工具。

图像生成

您可以使用Wuerstchen模型从文本生成图像

use futures_util::StreamExt;
use kalosm_vision::{Wuerstchen, WuerstchenInferenceSettings};

#[tokio::main]
async fn main() {
    let model = Wuerstchen::builder().build().await.unwrap();
    let settings = WuerstchenInferenceSettings::new(
        "a cute cat with a hat in a room covered with fur with incredible detail",
    );

    if let Ok(mut images) = model.run(settings) {
        while let Some(image) = images.next().await {
            if let Some(buf) = image.generated_image() {
                buf.save(&format!("{}.png", image.sample_num())).unwrap();
            }
        }
    }
}

图像分割

Kalosm支持使用SegmentAnything模型进行图像分割。您可以使用SegmentAnything::segment_everything方法将图像分割成对象,或使用SegmentAnything::segment_from_points方法在特定点将图像分割成对象

use kalosm::vision::*;

let model = SegmentAnything::builder().build().unwrap();
let image = image::open("examples/landscape.jpg").unwrap();
let x = image.width() / 2;
let y = image.height() / 4;
let images = model
    .segment_from_points(
        SegmentAnythingInferenceSettings::new(image)
            .unwrap()
            .add_goal_point(x, y),
    )
    .unwrap();

images.save("out.png").unwrap();

依赖项

~33–54MB
~1M SLoC