Как использовать Rust OpenCV imdecode - PullRequest
0 голосов
/ 29 сентября 2019

Я бы хотел декодировать изображение PNG в объект OpenCV Mat, используя imdecode .Я работаю над такой функцией, как

fn handle_frame(buf: &[u8]) -> Result<(), opencv::Error> {
    original_image: Mat = imgcodecs::imdecode(buf, imgcodecs::IMREAD_COLOR)?;    

    let width = original_image.cols()?;
    let height = original_image.rows()?;

    println!("Success! Dimensions are {}x{}", width, height);

    Ok(())
}

Но я не могу передать байтовый буфер в imdecode, потому что сначала мне нужно преобразовать его во что-то, имеющее черту ToInputArray.Как это сделать?

1 Ответ

0 голосов
/ 29 сентября 2019

Я обнаружил, что когда я меняю тип входного буфера на Vec<u8>, я могу сделать это:

let original_image: Mat = imgcodecs::imdecode(&VectorOfuchar :: from_iter(buf), imgcodecs::IMREAD_COLOR)?;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...