QingfengLee
12/11/2015 - 3:05 PM

将Opengl中glReadPixels()方法获得的数据转化为opencv中的Mat Converting data from glReadPixels() to OpenCV::Mat From http://stackoverflow.com/questions/90977

将Opengl中glReadPixels()方法获得的数据转化为opencv中的Mat Converting data from glReadPixels() to OpenCV::Mat From http://stackoverflow.com/questions/9097756/converting-data-from-glreadpixels-to-opencvmat/9098883#9098883

//create a Mat
cv::Mat img(height, width, CV_8UC3);

//use fast 4-byte alignment (default anyway) if possible
glPixelStorei(GL_PACK_ALIGNMENT, (img.step & 3) ? 1 : 4);

//set length of one complete row in destination data (doesn't need to equal img.cols)
glPixelStorei(GL_PACK_ROW_LENGTH, img.step/img.elemSize());

//covert top to tottom,bottom to top
cv::flip(img, img, 0);