【问题标题】:OpenCV and OpenGL scaleOpenCV 和 OpenGL 缩放
【发布时间】:2023-03-05 01:01:01
【问题描述】:

基于 Opencv 跟踪,我试图在 openGL 中叠加对象,但我发现 OpenCV 适用于像素值,而 OpenGL 适用于 OpenGL 单元。

我现在的窗口大小是 320 x 240。
我知道我必须定义一些东西,以便在跟踪和覆盖之间实现同步。当我将 OpenGL 函数 glTranslatef (positionx, positiony, positionz); 中的 positiony 仅更改 1 个像素(即 1 个 OpenGL 单元)时,我在叠加对象中得到了巨大的差异......

我认为问题在于 Opencv 和 OpenGL 规模的同步......

【问题讨论】:

  • 问题有什么问题!!!
  • 为什么无缘无故投反对票.....
  • 不确定,对我来说似乎没问题 - 但我已尝试在下面回答您的问题。如果不清楚,请告诉我。

标签: opengl opencv


【解决方案1】:

您需要使用屏幕对齐的正交投影来将 OpenGL 单元与屏幕像素 1:1 映射。

    glViewport(0,0,320,240);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0,320,0,240,0,1);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

希望这会有所帮助!

【讨论】:

  • 它的行为仍然和以前一样......如果你能帮助我提供一些教程代码,我将非常感激......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 2016-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多