Ubuntu下安装opencv 2.4.11

news/2025/2/23 16:06:40

一、前言

运行环境:
ubuntu kylin 14.04
opencv 2.4.11
由于某些软件包对opencv2.4的支持暂不更新到opencv3

opencv">二、下载opencv

opencv官网下载源代码:https://github.com/Itseez/opencv/archive/2.4.11.zip
然后解压得到opencv-2.4.11文件夹,我把它放在主文件夹~/下面

安装opencv依赖的软件包">三、安装opencv依赖的软件包

$ sudo apt-get install build-essential
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

注意有的地方安装opencv出现如下提示是因为所依赖的软件包版本已经更新,请对照上面的命令安装新的软件包版本:

$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-dev

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成    
注意,选取 libpng12-dev 而非 libpng-dev
注意,选取 libtiff5-dev 而非 libtiff-dev
现在没有可用的软件包 libdc1394-dev,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 软件包 libdc1394-dev 没有可供安装的候选者

四、编译源码

opencv-2.4.11文件夹中新建一个临时目录release用来存放安装过程中产生的文件

$ cd ~/opencv-2.4.11
$ mkdir release 

在release目录下cmake编译opencv源码,安装所有的lib文件都会被安装到/usr/local目录下

$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

安装opencv">五、安装opencv

在release目录下运行以下命令安装opencv

$ make
$ sudo make install

等得进度到100%最后安装完成,无报错的话就可以用了

测试">六、测试

随便在一个工作目录下新建一个cpp文件,我的是在~/work/testopencv文件夹下

//testopencv.cpp
#include <cv.h>  
#include <highgui.h>  

using namespace cv;  

int main(int argc, char* argv[])  
{  
    Mat image;  
    image = imread(argv[1], 1);//argv[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;  
}

再在该目录下新建CMakeLists.txt,注意我这里project是testopencv,可执行文件也是testopencv

project(testopencv)  
find_package(OpenCV REQUIRED)  
add_executable(testopencv testopencv)  
target_link_libraries(testopencv ${OpenCV_LIBS})  
cmake_minimum_required(VERSION 2.8)

记得保存上述文件。
然后编译一下这个cpp文件

$ cd ~/work/testopencv
$ cmake .
$ make

在该目录下生成了testopencv可执行文件(不要落了camke后面的“.”)
再找一张图片名字叫t1.jpg,放在~/work/testopencv目录下
然后运行这个可执行文件(带上参数t1.jpg)

$ ./testopencv t1.jpg

结果就是显示这张图片


http://www.niftyadmin.cn/n/1865968.html

相关文章

安装rtabmap_ros包

一、前言 RTAB-Map (Real-Time Appearance-Based Mapping)是一种基于全局贝叶斯闭环检测的RGB-D Graph SLAM方法。它可以用kinect的深度信息结合kinect变换得到的激光数据进行即时定位与建图&#xff08;gmapping算法志只用到了kinect转换得到的激光数据&#xff0c;而把深度信…

卡尔曼滤波的理解以及参数调整

一、前言 卡尔曼滤波器是一种最优线性状态估计方法&#xff08;等价于“在最小均方误差准则下的最佳线性滤波器”&#xff09;&#xff0c;所谓状态估计就是通过数学方法寻求与观测数据最佳拟合的状态向量。 在移动机器人导航方面&#xff0c;卡尔曼滤波是最常用的状态估计方…

launch文件remap标签

一、remap用于topic的映射 下面是两个launch启动两个节点的例子&#xff1a; 一个节点叫talker&#xff0c;它发布一个topic名为/talker 一个节点叫test1&#xff0c;它订阅一个topic名为/talker_mid <!--start_talker.launch--> <launch> <node pkg&quo…

Mac 装双系统

一、前言 先说硬件&#xff1a; MacBook Air&#xff08;13 英寸&#xff0c;2012 年中&#xff09; USB 3.0移动硬盘 操作系统&#xff1a; OS &#xff38; 10.11 Windows10和Windows7 双系统采用的是OS X Windows&#xff0c;Windows系统win10和win7分别都试过&#…

SICK激光雷达LMS511笔记一

一、设备介绍 激光雷达型号&#xff1a;SICK LMS511-10100S01 (DC 24V) 电脑操作系统&#xff1a;Windows10 64位 接线&#xff1a;淘宝买的航空插头&#xff08;带线&#xff09;,主要接两根线&#xff1a;Ethernet和Power&#xff08;也可以拧开显示面板旁边的黑色旋钮盖&…

SCIP使用

SCIP编译 下载源码&#xff1a;http://scip.zib.de/download.php?fnamescipoptsuite-3.2.1.tgz 安装说明&#xff1a;http://scip.zib.de/doc/html/MAKE.php 教程&#xff1a;http://scip.zib.de/doc/html/ 提示找不到gmp.h sudo apt-get install libgmp-dev 编译完提示…

Qt5中文输入的问题

一、前言 本博客是为了解决在Qt5.4和Qt5.5下的中文输入问题&#xff0c;博主所用的Qt版本是Qt5.5.1&#xff0c;中文输入法是搜狗输入法&#xff0c;操作系统是ubuntu 14.04 Qt5.3及以前的版本可以通过复制/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/下的…

MRPT编译说明

一、前言 备忘一下mrpt编译细节 本文所用系统为Ubuntu 14.04 64位&#xff0c;mrpt版本为1.3.2 本文地址&#xff1a;http://blog.csdn.net/u013453604/article/details/51686002 参考&#xff1a; Building and Installing Instructions Compiling MRPT 在第五部分另附…