//从内存中加载图片
pub fn get_img_info_mem(img_data: Vec<u8>) -> Result<core::Mat,String> {
let mut data= Vector::from_iter(img_data);
let data=VectorOfu8::from(data);//和上面的一行代码可以合成一行
imgcodecs::imdecode(&data, IMREAD_COLOR).or_else(|e| {
Err(format!("opencv load image fail :{}", e))
})
}
imdecode(buf: &dyn core::ToInputArray, flags: i32) -> Result<core::Mat>
Vector<u8> 实现了ToInputArray,不是标准库的Vec<>,所以通过Vector::from_iter这个函数进行了转换
//从文件中生成图片
pub fn get_img_info(img_path: &str) -> Result<core::Mat,String> {
imgcodecs::imread(img_path, IMREAD_COLOR).or_else(|e| {
Err(format!("opencv load image fail :{}", img_path))
})
}