关于OpenCV,有中文的官方站点。里面翻译了官网的教程和API等。中文官方Tutorials见这里:【Tutorials


一、Ubuntu下的安装

能够选择直接从库里安装,或者手动编译安装,请參考这里:【Installation in Linux

1. 从repository(库)中安装

sudo apt-get install libopencv-dev python-opencv

2. 手动编译安装

首先要解决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

从【

source=navbar">sourceforge】上面下载下来源代码,只是不知道为啥。我的Ubuntu15.04不能编译open-2.4.11,仅仅能再下个opencv-2.4.10。进去文件夹。直接用cmake编译例如以下

mkdir build
cd build
cmake ..
sudo make
sudo make install

3. 样例

编译完了就先来跑个样例吧,见这里:【Linux下的样例】,事实上就是个寻常的C++样例,新建cpp和txt文件,编译执行即可。


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;
}

CMakeLists.txt

project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

编译

cd <DisplayImage_directory>
cmake .
make

执行

./DisplayImage lena.jpg

著名的lena图能够给个链接:【lena图


二、用Python开发OpenCV

发现除了C++。Python对OpenCV的支持也特别好。

官方的接口文档中,一般都会给出C++。C和Python三种接口。

Python支持

首先。安装python的opencv模块

sudo apt-get install python-opencv

以下给个样例

import cv2

img = cv2.imread("lena.jpg") # load image
cv2.imshow("image", img) # show image
cv2.waitKey(0) # wait until key pressed

命名为test.py。直接在终端里

python test.py
# or
python ./test.py

直接执行就能够了。


这个样例仅仅是简单的把图片载入进来,并依照原来的大小显示出来,这几个函数也有重载。详细使用方法就要去查了。

在github上发现一个大牛写的python-opencv的文档,太棒了,链接在这里:【OpenCV-Python Tutorials】。

有函数不会用的,直接在左边搜索即可了。

能够和官方的【Tutorials】结合起来看。

OpenCV入门笔记(一) Linux下的安装的更多相关文章

  1. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  2. 操作笔记:linux下安装mysql

    1,检查linux下是否安装了mysql shell指令如下: [root@iZ945sgm0ugZ ~]# rpm -qa|grep -i mysql 如果有的话:做出挨个删除(eg:rpm -ev ...

  3. 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记

    Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...

  4. [转]Caffe在Linux下的安装,编译,实验

    Caffe在Linux下的安装,编译,实验  原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...

  5. linux下快速安装jenkins

    Linux下快速安装Jenkins 建议使用 FileZilla 工具简化以下步骤中移动.环境变量配置等步骤. 1      软件下载 l  Java:jdk-7u17-linux-x64.tar.g ...

  6. Redis(二)linux下redis安装

    上篇讲解了redis在windows下的安装,接下来看看在linux下如何安装redis(纯菜鸟入门级别)? (1)redis的下载及编译 这里,首先进入存放文件目录(我的云服务器的是:cd /jel ...

  7. Linux下Mysql安装教程详解

    Linux下软件安装一般有三种方式:RPM包方式(通过Redhat 第三方包管理系统).二进制包和源码包.本篇主要介绍二进制包安装mysql数据库的方式. 如何获取二进制源码包 当然是到mysql官网 ...

  8. Linux下yum安装MySQL

    写这篇文章的原因是:在刚开始使用Linux操作系统时想要搭建LAMP环境,于是开始在Google和百度上各种寻找资料,碰到了不是很多的问题后,我决定写这篇文章总结一下在Linux下yum安装MySQL ...

  9. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  10. 【夯实PHP基础系列】linux下yum安装PHP APC

    Alternative PHP Cache(可选PHP缓存),依赖于 PECL扩展库 用源码方式安装,直接yum就行了:首先要安装apc的依赖包:yum install php-pear php-de ...

随机推荐

  1. 【SDOJ 3741】 【poj2528】 Mayor's posters

    Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral electio ...

  2. SVM 与 LR的异同

    LR & SVM 的区别 相同点 LR和SVM都是分类算法. 如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的. LR和SVM都是监督学习算法. LR和SVM ...

  3. ACM-ICPC 2018 沈阳赛区网络预赛 J树分块

    J. Ka Chang Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero p ...

  4. C语言总结(2)

    1.函数printf(" ")可以输出双引号中任何固定不变的内容. 2.必须在程序前面加:预处理命令. 3.#include<stdio.h>后面不需要“:”,“:”. ...

  5. sqlserver的left join优化

    MS sqlserver 对4张表进行left join join字段是varchar类型长度20,也都建了索引,但是光查一个count(Id) 耗时就超过了8秒,数据量只有100多万条,该怎么优化呢 ...

  6. 九度oj 题目1459:Prime ring problem

    题目描述: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each ...

  7. Android金额输入EditText共通方法

    代码改变世界 EditText输入框实现最多到小数点后两位(金额显示) package com.lianpos.util; import android.text.Editable; import a ...

  8. HDU——1405The Last Practice(试手map)

    The Last Practice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  9. 【bzoj3098】Hash Killer II 生日悖论

    这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题:给你一个长度为N的字符串S,求有多少个不同的长度为L的子串.子串的定义是S[l].S[l + 1].… S[r]这样连续的一段.两个字 ...

  10. 使用 PHPMailer 发邮件

    /** * 发邮件 * * @param array $receiver 接收人信息 * @param array $attachment_info 附件信息 * @param string $is_ ...