基于Opencv跟踪我试图在openGL中覆盖对象,但我看到OpenCV适用于像素值,而OpenGL适用于OpenGL单元。
我现在的窗口尺寸是320 x 240
我知道我必须定义一些东西,以便在跟踪和叠加之间实现同步。当我将OpenGL函数positiony
中的glTranslatef (positionx, positiony, positionz);
更改为1个像素(即1个OpenGL单元)时,我在叠加对象方面会有很大差异......
我认为问题在于Opencv和OpenGL规模的同步......
答案 0 :(得分:1)
您需要使用屏幕对齐的正交投影来将OpenGL单元1:1与屏幕像素进行映射。
glViewport(0,0,320,240);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,320,0,240,0,1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
希望这有帮助!