利用OpenGL渲染并用OpenCV输出显示二维图像
生活随笔
收集整理的這篇文章主要介紹了
利用OpenGL渲染并用OpenCV输出显示二维图像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenGL所有渲染的結果都輸出顯示在窗口中,設置OpenCV的圖像cv::Mat outimg,并使用OpenGL的glReadPixels從幀緩沖區(qū)中加載像素至內存:
//use fast 4-byte alignment (default anyway) if possible
glPixelStorei(GL_PACK_ALIGNMENT, (outimg.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, outimg.step / outimg.elemSize());
glReadPixels(0, 0, SCR_WIDTH, SCR_HEIGHT, GL_BGR, GL_UNSIGNED_BYTE, outimg.data);
cv::flip(outimg, outimg, 0);
注意:OpenGL坐標原點是左下方,OpenCV是左上方。
參考:
glDrawPixels(), glCopyPixels(),glReadPixels()
總結
以上是生活随笔為你收集整理的利用OpenGL渲染并用OpenCV输出显示二维图像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在CSDN MarkDown中居中显
- 下一篇: 使用GetNextCell或者GetCe