Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 600

Transform buffer to cv::Mat without copy.

$
0
0
I try to convert buffered data in cv::Mat (it's originaly to make a python binding numpy array to cv::Mat) my code here https://github.com/edmBernard/pybind11_opencv_numpy in python when we do channel slicing the internal strides in "simply" set to 3 instead of 1 (there is no copy) a = eb.read_image("test.png") b=a[:,:,0] so b is not continuous In full opencv C++, it's equivalente to try to get only one channel from a CV_8UC3 image. I try this but it don't seem to work as I think // arr is my buffer (raw data) cv::Mat(cv::Size(shape[1], shape[0]), dtype_cv, arr.mutable_data(), image_from_file.elemSize()*image_from_file.cols*3); // another solution with the same result // here info.ptr is my buffer cv::Mat(ndims, &shape[0], dtype info.ptr&strides[0]); edit : there is some misunderstanding of my problem I try to be cleaner

Viewing all articles
Browse latest Browse all 600

Latest Images

Trending Articles



Latest Images