OpenCV学习一《Linux下安装OpenCV》
第一步:安装源码前先安装好需要的第三⽅方环境
需要的编译环境 ■ [compiler] sudo apt-get install build-essential
# 注释说明
64位ubuntu在安装build-essential遇到依赖问题的解决办法
解决方案的博客地址:https://blog.csdn.net/sunranlb/article/details/46946147
依赖的库 ■ [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
可以选择安装的 ■ [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
还有一点需要重要的特殊说明,就是在Ubuntu可视化界面操作的时候不要随便取消更新勾选中的东西,不然很容易出现问题!!!
将上传的两个OpenCV源码解压到 ~ 目录中
解压好后 依次执行以下的命令
cd opencv
mkdir build
cd build
最后执行编译命令
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..
出现这个结果的话 就表示成功的安装了
中间可能会遇到 下载一个文件下载不完的问题,只要将提前下载好的文件复制进去 即可解决这个问题
最后的一步
在 ~/opencv/build 中分别执行命令
make
sudo make install # 如果不加上sudo的话就会报一个权限的错误!
编辑配置文件
vim /etc/ld.so.conf
在下面一行加上
/usr/local/lib
重新加载配置
sudo ldconfig
检测OpenCV是否安装好的代码
test_opence.cpp
#include <opencv2/highgui/highgui.hpp>
int main(int argc,char* argv[]){
const std::string window_name = "lena";
const std::string input_pic = "lena.jpg";
cv::Mat test_pic = cv::imread(input_pic);
if(test_pic.empty()){
std::cout<<"no input image"<<std::endl;
return -1;
}
cv::namedWindow(window_name);
cv::imshow(window_name,test_pic);
cv::waitKey(0);
return 0;
}
编译代码
g++ -o test_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs
执行代码
./test_opencv.cpp
执行效果 ,如果出现lena.jpg 图 就证明安装成功!
- SQL SERVER 原来还可以这样玩 FOR XML PATH
- 零基础学编程011:复利数据表问题(总结)
- 一个小程序引发的思考
- 深入内核:DUMP Block的数据读取与脏数据写入影响
- 零基础学编程010:最终可以输出完整的复利数据表了
- 在C#使用文件监控对象FileSystemWatcher 实现数据同步
- 零基础学编程018:条件语句
- 零基础学编程022:函数的世界
- 帝国cms如何调用指定id的文章到首页?
- C 语言 static、extern与指针函数介绍
- 2017最流行的十大Python库
- 笔记:mysql升序排列asc,降序排列desc
- 检测端口是否被占用
- 零基础学编程021:获取股票实时行情数据
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法