ubuntu安装opencv的c++开发环境

为了搭建opencv3,看了各种教程,装了卸,卸了装,多次失败后,在几篇文档的借鉴下,终于是成功搭建了环境。

首先,更新ubuntu上的一些库:

sudo apt-get update

sudo apt-get upgrade

其次,需要安装一些搭建opencv3的库(要在opencv3搭建前安装好)

具体需要的库如下:

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
  • 还有一些其他的库是可供选择的,大家可自行搜索。

然后下载opencv3源码:

https://github.com/opencv/opencv/releases

这里的选最后一个tar.gz就行

下载、解压完毕,

进入解压目录:

mkdir release

cd release
  • 然后设置cmake编译参数,提供一些可供选择的安装选项,我采用的是:
sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..


或者直接采用默认
sudo cmake ..

然后就可以开始编译openCv3了

sudo make

sudo make install 

结束后,还需要配置一下环境变量,

/etc/bash.bashrc中LD_LIBRARY_PATH加入/usr/local/lib

gedit /etc/bash.bashrc
# 在文件末尾加入
export LD_LIBRARY_PATH=/home/lp/soft/opencv-3.4.2/release/lib:$LD_LIBRARY_PATH

source /etc/bash.bashrc

最后

Clion配置CMakelists.txt来导入OpenCV

怎么说,貌似你不在CMakelists里面导入OpenCV相关包你是无法通过编译的,会报错,先话不多说,加入你新建了一个Project叫做VisionTest,下面的主函数cpp名字叫做main,那么CmakeLists.txt这么配置:

cmake_minimum_required(VERSION 3.6)
project(VisionTest)
find_package(OpenCV REQUIRED)
message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
include_directories(${OpenCV_INCLUDE_DIRS})
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
add_executable(vision_test main.cpp)
target_link_libraries(vision_test ${OpenCV_LIBS})


这里有个重点,最后两行一定要有,而且顺序不能变,这是告诉Cmake,你把main.cpp编译成了一个可执行文件vision_test,然后你要让这个可以执行的文件去连接OpenCV的动态库,如果你在没有add_executable就去添加链接就会报错。谨慎啊,少年,小心使得万年船啊!

C++ OpenCV测试程序示例

OK,现在我们配置了Cmake,接下来在main.cpp中输入以下代码:

#include <iostream>
#include <vector>
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
int main() {
    cout << "Hello, this is opencv tutorial." << std::endl;
    cv::Mat img = cv::imread("/home/jfg/Pictures/cat.jpeg");
    cv::namedWindow("Window", CV_WINDOW_AUTOSIZE);
    cv::imshow("Cat", img);
    cv::waitKey(0);
    return 0;
}


这是一个简单的OpenCV测试程序,要注意的一点是,图片的路径要使用绝对路径,不要使用相对路径,否则会出错

 

 

 

 

 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值