Ubuntu16.04如何配置OpenCV

配置OpenCV的版本为3.4.0,下面给出安装包的下载地址:

链接:https://pan.baidu.com/s/1uGMXOCo50tNSints_YEEkg 密码:q2xf

前提:先装好cmake

1、安装依赖项

sudo apt-get install build-essential

sudo apt-get install libgtk2.0-dev

sudo apt-get install pkg-config

sudo apt-get install python-dev

sudo apt-get install python-numpy

注:如果上面依赖的几个包已经安装过了,command中会显示已经是最新版,但是为了避免出错,最好还是都安装一遍。

2、编译安装OpenCV

下载OpenCV压缩包,并将压缩包解压。使用下列命令进行编译安装:

1、cd 到解压缩的文件夹中

2、mkdir build  

3、cd build

4、编译OpenCV源码

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

5、安装,这一步耗费的时间可能较长

sudo make install

安装完成之后,可以编写一个测试程序---显示一张图片,测试OpenCV是否安装成功。

test.cpp内容如下:

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main(int argc,char **argv)
{
	if(argc != 2)
	{
		std::cout<<"No image data"<<std::endl;
		return -1;
	}
	char *imageName=argv[1];
	Mat image=imread(imageName,1);
	if(!image.data)
	{
		std::cout<<"No image data"<<std::endl;
		return -1;
	}
	namedWindow(imageName,CV_WINDOW_AUTOSIZE);
	imshow(imageName,image);
	
	waitKey(0);
	return 0;
}

CMakeLists.txt的内容如下:

CMAKE_MINIMUM_REQUIRED(VERSION 3.12)

PROJECT(opencv_test)

find_package(OpenCV REQUIRED)

add_executable(test test.cpp)
target_link_libraries(test ${OpenCV_LIBS})

然后编译运行(图片放在编译产生的可执行文件的同级目录下),出现下列结果则安装成功。

上面编译的是最基本的OpenCV,下面介绍一下如何在编译OpenCV的时候指定一些额外的配置。

下面要做的是在编译OpenCV的时候将opencv_contrib编译进去,同时打开qt。

下面的博客中介绍了cmake编译opencv时各个选项的含义:

https://blog.csdn.net/j_d_c/article/details/53365381

编译命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_EXTRA_MODULES_PATH=/..../opencv_contrib/modules/ -D WITH_QT=ON -D CMAKE_INSTALL_PREFIX=/usr/local/ ..
make -j4
sudo make install

上面的opencv_contrib的路径是乱写的,在编译的时候要根据自己的情况修改。

下面介绍一下可能遇到的问题:

问题1:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory D:/Cproject/opencv/opencv/sources/modules/cudev
linked by target "opencv_cudev" in directory D:/Cproject/opencv/opencv/sources/modules/cudev
linked by target "opencv_test_cudev" in directory D:/Cproject/opencv/opencv/sources/modules/cudev/test
linked by target "opencv_core" in directory D:/Cproject/opencv/opencv/sources/modules/core
linked by target "opencv_core" in directory D:/Cproject/opencv/opencv/sources/modules/core
...

原因是cuda9.0已经不再支持2.0架构。

参考https://blog.csdn.net/u014613745/article/details/78310916可顺利解决。

问题2:

Unsupported gpu architecture 'compute_20'

参考https://blog.csdn.net/renhanchi/article/details/80493232可顺利解决。

下面介绍一下如何指定OpenCV的版本,除了按照https://blog.csdn.net/llfjcmx/article/details/81238766的方法配置环境变量以外,还可以简单粗暴的指定OpenCV_DIR的路径,将其指定到OpenCV的build路径下,该路径下的OpenCVConfig.cmake文件可协助找到你指定的OpenCV的相关库和头文件。

set(OpenCV_DIR "/home/user/data/opencv/opencv-3.3.0/build")

然后,再显示一张图片的时候,不需要做其他任何操作,窗口上有了一排按钮,并且自动支持鼠标的缩放操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值