如何将DynamicImage转换为ImageBuffer?

如何将DynamicImage转换为ImageBuffer?,image,types,rust,Image,Types,Rust,运行以下代码时,最后一行导致此错误: 错误[E0308]:类型不匹配 -->src\main.rs:25:13 | 25 |箱型过滤器(和img,5,5); |^^^^应为结构'ImageBuffer',找到枚举'DynamicImage'` | =注意:应为引用“%ImageBuffer”` 找到引用`&DynamicImage` 外部板条箱图像; 外部板条箱imageproc; 使用image::genericmageview; 使用imageproc::filter::box\u过滤器;

运行以下代码时,最后一行导致此错误:

错误[E0308]:类型不匹配
-->src\main.rs:25:13
|
25 |箱型过滤器(和img,5,5);
|^^^^应为结构'ImageBuffer',找到枚举'DynamicImage'`
|
=注意:应为引用“%ImageBuffer”`
找到引用`&DynamicImage`
外部板条箱图像;
外部板条箱imageproc;
使用image::genericmageview;
使用imageproc::filter::box\u过滤器;
fn main(){
println!(“你好,世界!”);
//使用open函数从路径加载图像。
//'open'在成功时返回'DynamicImage'。
//'unwrap'收到'None'时返回'panic'。
让img=image::open(
“C:/Users/hp/Desktop/Multiprocessor real-time scheduling/Project2/data/aLIEz.jpg”,
)
.unwrap();
//dimensions方法返回图像的宽度和高度。
println!(“维度{:?}”,img.dimensions());
//color方法返回图像的“ColorType”。
println!(“{:?}”,img.color());
//将此图像的内容以PNG格式写入编写器。
img.save(
“C:/Users/hp/Desktop/Multiprocessor real-time scheduling/Project2/data\u output/test.png”,
)
.unwrap();
盒式过滤器(和img,5,5);
}
我不知道如何将
DynamicImage
转换为
ImageBuffer
,以便应用过滤器。我已经看过了
image 0.23.12
dependency的文档,但我不知道如何做到这一点。

  • 结果是
  • 需要
  • 要将
    image::DynamicImage
    转换为
    image::GrayImage
    ,请使用 方法
此更新的示例应适用于:

外部板条箱图像;
外部板条箱imageproc;
使用image::genericmageview;
使用imageproc::filter::box\u过滤器;
fn main(){
让dynamic_image=image::打开(“路径/此处”).unwrap();
让gray_image=dynamic_image.to_luma8();
让结果=长方体过滤器(&灰度图像,5,5);
}
如果您需要或,请致电或。但是
box\u filter()
仅支持
image::GrayImage

  • 结果是
  • 需要
  • 要将
    image::DynamicImage
    转换为
    image::GrayImage
    ,请使用 方法
此更新的示例应适用于:

外部板条箱图像;
外部板条箱imageproc;
使用image::genericmageview;
使用imageproc::filter::box\u过滤器;
fn main(){
让dynamic_image=image::打开(“路径/此处”).unwrap();
让gray_image=dynamic_image.to_luma8();
让结果=长方体过滤器(&灰度图像,5,5);
}
如果您需要或,请致电或。但是
box\u filter()
仅支持
image::GrayImage