首先要确保ubuntu已经安装GTK+ 2.x(可以执行“pkg-config --modversion gtk+-2.0”命令查看GTK+ 2.x版本,见图1)或者Carbon,否则可能导致程序不能正常运行.如果系统没有安装,通过下面命令进行安装。
sudo apt-get install libgtk2.0*
然后,使用如下命令查看GTK+ 2.x版本:
pkg-config --modversion gtk+-2.0
Step1.1 具体操作如下:版本为V3.8:http://download.csdn.net/detail/lovelyaiq/9818218
$ tar -zxvf cmake-3.8.0.tar.gz
$ cd cmake-2.8.8
$ ./bootstrap
Step1.2 完成后,会看到提示“CMake has bootstrapped. Now run make.”,然后执行命令:
-- Configuring done
-- Generating done
---------------------------------------------
CMake has bootstrapped. Now run make.
$ make
sudo make install
同样的执行完这个操作后也要稍等片刻。
Step1.3 这时我们可以使用“cmake –version”命令来查看终端是否有关于cmake的版本信息。如果没有的话,我们就需要修改用户的PATH路径,把cmake路径加入用户环境变量,可以运行如下命令:
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
注意:这里我们使用的是root用户修改的,因此只对root用户生效!如果其他用户也要使用cmake命令,再使用其他用户登录终端后修改用户环境变量。
测试:重新登录系统(不必重启机器,开始->logout 或者重新打开终端即可),使以上设置生效,在命令行输入cmake --version,会出现如下信息,这说明cmake环境已经成功配置并可以正常使用了。
$ cmake --version
cmake version 3.8.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Step2.1 在Opencv官网下载Opencv源码,并解压。
$ tar -jxvf opencv-2.4.13.tar.bz2
$ cd OpenCV-2.3.1
$ mkdir release
$ cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/Opencv2 -D BUILD_PYTHON_SUPPORT=ON ..
执行上述命令后,release目录下会生产Makefile文件等,如下图所示:
Step2.3 便可执行make进行编译:
make
Step2.4 编译完成后运行“sudo make install”命令,会在/opt/Opencv2目录下生成opencv相关目录及文件,包括bin、lib、include等,如图5所示。-I/opt/Opencv2/include/opencv -I/opt/Opencv2/include -L/opt/Opencv2/lib -L/usr/local/cuda/lib64 -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -lcufft -lnpps -lnppi -lnppc -lcudart -lrt -lpthread -lm -ldl
使用如下命令修改/etc/ld.so.conf文件,将OpenCV链接库添加进去。(此时若无权限,请使用root进行操作,可以使用“sudo su”命令切换root用户)。
echo "/opt/Opencv2/lib " >> /etc/ld.so.conf
使用Qt IDE新建项目,依次选择“新建项目-其他项目-空的Qt项目”,单击“选择”,浏览到指定目录,依次单击“下一步”即可。
在项目文件(*.pro,如本人新建项目的名称为OpenCV,即需要修改OpenCV.pro)中添加如下内容:
INCLUDEPATH += /opt/Opencv2/include/
LIBS += `pkg-config opencv --cflags --libs`
其中“LIBS += `pkg-config opencv --cflags --libs`” 包含了所有的Opencv动态链接库。测试例子(源码):
#include
int main( int argc, char** argv ) {
IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow( "OpenCV", CV_WINDOW_AUTOSIZE );
cvShowImage( "OpenCV", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "OpenCV" );
return ( 0 );
}
编译完成后,在可执行文件所在的目录执行./OpenCV lena\(1\).tiff,效果如图8所示:
相关代码如下:
#include
#include
int main( int argc, char **argv )
{
cvNamedWindow( "Video", CV_WINDOW_FULLSCREEN );
CvCapture *capture = cvCreateFileCapture( argv[ 1 ] );
IplImage *frame;
while (1) {
frame = cvQueryFrame( capture );
if ( !frame )
break;
cvShowImage( "Video", frame );
char c = cvWaitKey( 33 );
if ( c == 27 )
break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Video" );
return ( 0 );
}