背景
rustでCvMatはうまいこと取り出せたが、rustから、unsigned charな配列をうまく作れてないのか、ハマりにくいだろと思った方がトラブるという
— kjunichi (@kjunichi) 2017年9月9日
画像の配列にありがちなunsigned charの配列をRustな型にするには
ptrがunsigned char*
ptr: *mut c_uchar
これをRustのu8の配列に変換する。
offsetメソッドでポインタのアドレスをずらせる模様。
let mut buf: Vec<u8> = Vec::new();
for i in 0..len {
buf.push(unsafe { *(ptr.offset(i as isize)) });
}