当前位置: 首页 > news >正文

ubuntu12.04 64位安装opencv-2.4.9

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dengshuai_super/article/details/51394118
May 13, 2016
出处:http://blog.csdn.net/dengshuai_super/article/details/51394118

准备工作:

0.1 编译环境

sudo apt-get install build-essential

0.2 安装GTK环境

sudo apt-get install libgtk2.0-dev

(GTK+ 是一种图形用户界面(GUI)工具包。也就是说,它是一个库(或者,实际上是若干个密切相关的库的集合),它支持创建基于 GUI 的应用程序。可以把 GTK+ 想像成一个工具包,从这个工具包中可以找到用来创建 GUI 的许多已经准备好的构造块。)

0.3 编译GTK程序时自动找出头文件及库文件位置

sudo apt-get install pkg-config 

0.4 安装cmake

sudo apt-get install cmake

1. 先从sourceforge上下载OpenCV的源码
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/
2. 解压到任意目录
(我是手动解压缩到了主文件夹下,方便cd)

3. 进入源码目录,创建release目录

cd OpenCV-2.4.9 
mkdir release

4 (这一步不是必须的,你看你自己缺少哪个库自己安装即可)

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev 

5 cd到release
cd release

6 安装:

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

7 生成makefile(..代表父目录)
cmake ..

8 编译安装

make
sudo make install 

查看安装结果:pkg-config opencv –cflags –libs

9 配置必要的库
sudo gedit /etc/ld.so.conf.d/opencv.conf

添加 /usr/local/lib 这句命令到文件中(文件或许是空的,不影响)

10 sudo ldconfig
11 sudo gedit /etc/bash.bashrc,添加下面两行到文件的末尾并保存。
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

12 测试,在某个目录下建立一个displayimage.cpp文件

#include <cv.h> 
#include <highgui.h>

using namespace cv;

int main(int argc, char* argv[]) 
{ 
Mat image; 
image = imread(argv[1], 1);

if (argc != 2 || !image.data) 
{ 
printf("No image data\n"); 
return -1; 
}

namedWindow("Display Image", CV_WINDOW_AUTOSIZE); 
imshow("Display Image", image); 
waitKey(0); 
return 0; 
}

13 从网上下那个著名的lena.jpg放在cpp目录下
14 编译opencv的c++文件:
先cd到cpp文件所在目录下

g++ displayimage.cpp -o displayimage `pkg-config --libs --cflags opencv`

15 运行displayimage可执行文件:
./displayimage lena.jpg

转载于:https://www.cnblogs.com/Ph-one/p/11519087.html

相关文章:

  • gcc 与 g++的区别
  • Linux中显示系统中USB信息的lsusb命令
  • uboot自定义添加命令
  • uboot移植spi驱动
  • 训练一个神经网络 能让她认得我
  • Matlab注释的几个方法
  • Matlab 图像平移、旋转、缩放、镜像
  • 调整图像大小调整图片大小
  • matlab图像灰度调整——imadjust函数的使用
  • Matlab实现直方图均衡化
  • 图像处理之图像的平滑与锐化
  • Matlab常用函数
  • 空间域平滑滤波器
  • github免费私有仓库使用
  • android.mk-include
  • java取消线程实例
  • pdf文件如何在线转换为jpg图片
  • python学习笔记-类对象的信息
  • Quartz初级教程
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • windows下如何用phpstorm同步测试服务器
  • 成为一名优秀的Developer的书单
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 反思总结然后整装待发
  • 工程优化暨babel升级小记
  • 检测对象或数组
  • 简析gRPC client 连接管理
  • 如何编写一个可升级的智能合约
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 如何正确理解,内页权重高于首页?
  • #1014 : Trie树
  • #前后端分离# 头条发布系统
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • ( 10 )MySQL中的外键
  • (2)Java 简介
  • (libusb) usb口自动刷新
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (五)Python 垃圾回收机制
  • (新)网络工程师考点串讲与真题详解
  • (一)kafka实战——kafka源码编译启动
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)linux下的时间函数使用
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET 中的轻量级线程安全
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .Net中的设计模式——Factory Method模式
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [<死锁专题>]
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [CakePHP] 在Controller中使用Helper