Мне нужно взять изображение и получить список значений байтов RGB.Я использую ящик с изображениями .Вот что у меня есть:
extern crate image;
fn main() {
let im = image::open("wall.jpg").unwrap().to_rgb();
let data: Vec<[u8; 3]> = im.pixels().flat_map(|p| vec![p.data]).collect();
let rgb: Vec<&u8> = data.iter().flat_map(|p| p.iter()).collect();
println!("First Pixel: {} {} {}", rgb[0], rgb[1], rgb[2]);
}
Это кажется довольно уродливым.Мне нужно ввести промежуточную переменную, и я получаю вектор указателей на значения, которые мне действительно нужны, поэтому, прежде чем я смогу сделать что-то еще, мне придется сопоставить ее снова, чтобы получить действительные значения.
ВсеЯ хочу это вектор u8
.Как мне это получить?