OpenCV ウェブカメラ キャプチャを取得して OpenGL コンテキストで表示する最速の方法を探して、数日間ネットを検索してきました。これまでのところ、ズームが必要になるまでは問題なく動作しているようです。
void Camera::DrawIplImage1(IplImage *image, int x, int y, GLfloat xZoom, GLfloat yZoom)
{
GLenum format;
switch(image->nChannels) {
case 1:
format = GL_LUMINANCE;
break;
case 2:
format = GL_LUMINANCE_ALPHA;
break;
case 3:
format = GL_BGR;
break;
default:
return;
}
yZoom =- yZoom;
glRasterPos2i(x, y);
glPixelZoom(xZoom, yZoom); //Slow when not (1.0f, 1.0f);
glDrawPixels(image->width, image->height, format, GL_UNSIGNED_BYTE, image->imageData);
}
FBO アプローチを採用した方がさらに速いと聞いたことがあります。OpenCV WebカメラのキャプチャをOpenGLコンテキストに取得するための最速の方法に関するアイデア。見たものすべてをテストし、結果を投稿します。