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 图像
每月下载量 273
在 kalosm 中使用
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