c++ - 在 C/C++ 中使用 OpenGL 在 OpenCV 中显示图像
问题描述
cv::Mat
我尝试使用在 OpenGL 窗口(使用 创建)中cv::namedWindow
显示图像(存储在 中) cv::imshow
,如下所示:
cv::Mat cvImage = ...;
cv::namedWindow("test", cv::WINDOW_OPENGL);
cv::imshow("test", cvImage);
问题是,程序崩溃并出现以下错误:
OpenCV(4.4.0-dev) Error: OpenGL API call (Can't load OpenGL extension [glBindBuffer]) in IntGetProcAddress
这是为什么?cv::imshow
应该在使用 OpenGL 时使用acv::ogl::Texture2D
而不是?cv::Mat
我尝试了以下方法,它导致了同样的错误:
cv::ogl::Texture2D texture = cv::ogl::Texture2D(
height,
width,
cv::ogl::Texture2D::Format::RGB,
true
);
texture.copyFrom(cvImage, true);
cv::imshow("test", texture);
可能是什么问题呢?我也不想导入 OpenGL 标头,我认为标志cv::WINDOW_OPENGL
足以让我继续前进。谢谢。
解决方案
推荐阅读
- create-react-app - 如何删除 create-react-app 的 package.json 主页中的最后一个 /
- excel - 运行时错误“3061”。参数太少。预计 3
- ros - 如何在 ROS2 中启动带参数的节点?
- javascript - 从数组中删除虚假值
- jmeter - 带有 While 控制器的 Jmeter JDBC 请求
- python - ValueError:必须恰好具有创建/读取/写入/附加模式之一
- r - 如何将多个预测的输出::accuracy() 结果合并到表格中以进行比较和绘图
- sql - 多种选择的数据库设计
- python - 如何在 Seaborn 图中显示标签(没有发现带有标签的句柄放在图例中。)?
- php - 在 WooCommerce 中获取和显示产品 On Sale 计数