Ubuntu下为OpenCV配置wxWidgets/OpenGL以及三者混合编程

OpenCV的GUI部分做的太简单了 复杂的功能难以实现 整合其他库时接口兼容性等问题多多 真费事 写个手记以备用

安装和配置工程

安装wxwidgets(http://wiki.wxwidgets.org/Installing_and_configuring_under_Ubuntu)

sudo apt-get install libwxgtk2.8-dev libwxgtk2.8-dbg

安装opengl

sudo apt-get install freeglut3-dev libglew1.5-dev

为链接器添加链接库选项

-lGLU -lglut

整合wxWidgets

编译时出现错误

/usr/include/wx/platform.h:196:22: fatal error: wx/setup.h: そのようなファイルやディレクトリはありません

编译选项的问题

给 compiler加上  `wx-config --cxxflags`

给 linker加上`wx-config --libs --gl-libs`

代码整合

首先 在运行wxWidgets的主循环函数时如何同时运行opencv或opengl的实时性函数(如摄像头捕获)

参考http://wiki.wxwidgets.org/Making_a_render_loop的文章

当中最好的方法是采用idle events 

首先要定义好显示opencv或opengl的面板派生类,本例中用的是BasicDrawPane和BasicGLPane(会在后面讲到)

  1. BasicDrawPane* drawPane;  
  2. BasicGLPane *glPane;  

其中drawPane是用来绘制OpenCV数据,glPane是用来绘制OpenGL数据。

相关推荐