ubuntu16.04下安装opencv3.2版本

1、下载OpenCV的源码

OpenCV官网上有linux版本的源码包可以下载,不过最好是从git上下载,这样可以保证下载得到的是最新的代码:
1 wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip  
2 unzip opencv.zip  

2、编译安装

进入到OpenCV的文件夹中,创建一个build目录,进行编译:
1 cd opencv-3.2.0  
2 mkdir build  
3 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .
4 make -j4
5 make install

 

3、测试是否安装成功

1 root@VB:# python
2 >>>import cv2  
3 >>>cv2.__version__
4 3.2.0

  显示出版本号,则表示opencv安装成功。

 

《注意》:如果打开python后,import cv2时,提示:

1 >>> import cv2
2 Traceback (most recent call last):
3   File "<stdin>", line 1, in <module>
4 ImportError: No module named cv2

则需要安装python-opencv模块,在命令窗口中键入: pip install opencv-python

安装成功后,即可导入cv2,此时能够正确导入cv2,且正确显示版本号:

1 >>> import cv2
2 >>> cv2.__version__
3 3.2.0

2、从官网下载最新opencv源码(2.4以上)

http://sourceforge.net/projects/opencvlibrary/

或者github

3、编译opencv

将opencv放至任意目录,解压

unzip opencv- 3.0. 0-rc1. zip

创建编译目录,编译

cd ~/opencv-3.0.0-rc1
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

4、测试opencv

1) 创建工作目录

mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp

2) 编辑如下代码

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{if ( argc != 2 ){printf("usage: DisplayImage.out <Image_Path>\n");return -1;}Mat image;image = imread( argv[1], 1 );if ( !image.data ){printf("No image data \n");return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE );imshow("Display Image", image);waitKey(0);return 0;
}

3) 创建CMake编译文件

gedit CMakeLists.txt

写入如下内容

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

4) 编译

cd ~/opencv-lena
cmake .
make

5) 执行

此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行

./DisplayImage lena.jpg

6) 结果

















《注意》:如果打开python后,import cv2时,提示:

1 >>> import cv2
2 Traceback (most recent call last):
3   File "<stdin>", line 1, in <module>
4 ImportError: No module named cv2

则需要安装python-opencv模块,在命令窗口中键入: pip install opencv-python

安装成功后,即可导入cv2,此时能够正确导入cv2,且正确显示版本号:

1 >>> import cv2
2 >>> cv2.__version__
3 '3.2.0'




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构实验之栈六:下一较大值(二)

#include <bits/stdc.h> #include <iostream> using namespace std; struct node {int data;int next;//记录下一个元素死亡值int pos;//用来记录每个元素的位置*/ } a[100001],val[100000]; int main() {int t;while(~scanf("%d",&t)){int l0;while…

双系统安装ubuntu后没有windows启动项

打开terminal&#xff0c;sudo update-grub 如果看到windows的选项的话&#xff0c;下次重启就有了

ubunut安装分区建议

如果50g安装ubuntu 分为4个区 / :根目录区相当于windows 的C盘 我建议分20G swap:交换空间我建议分2G boot:我建议分200M home:把剩下的都分给home目录。

strchr函数的用法

【FROM MSDN && 百科】 原型&#xff1a; char *strchr(const char *s,char c); #include<string.h> 查找字符串s中首次出现字符c的位置,返回首次出现c的位置的指针&#xff0c;如果s中不存在c则返回NULL。 //#define FIRST_DEMO #define SECOND_DEMO #ifdef F…

Cross-Scale Cost Aggregation for Stereo Matching

摘要&#xff1a; 人类处理立体通信跨越多个尺度。然而&#xff0c;这种生物灵感就是忽略了最先进的成本汇总方法密集的立体声通信。在本文中&#xff0c;一个通用的提出跨规模成本汇总框架允许成本汇总中的多尺度互动。我们首先从统一优化中重新构建成本汇总透视和显示不同的…

strchr与strstr函数

在C语言中 strchr 和 strstr函数都被包含在<string.h>头文件中&#xff0c;也就是要调用它们时要在程序前面包含<string.h>头文件&#xff0c;也就是写这个语句&#xff1a;#include<string.h> strchr函数原型&#xff1a;char * strchr(char * str, int ch)…

Python-OpenCV设置摄像头分辨率

最近玩OpenCV用到一个双目摄像头&#xff0c;需要调整分辨率为1280480&#xff0c;研究了一下官方API&#xff0c;找到了设置方法&#xff0c;记录一下&#xff0c;以防忘记 import cv2 cap cv2.VideoCapture(0) cap.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH,1280) ca…

C/C++中字符串与数字相互转换

数字转字符串&#xff1a; 用C的streanstream: #include <sstream> #Include <string> string num2str(double i) { stringstream ss; ss << i; return ss.str(); } 字符串转数字&#xff1a; int str2num(string s) { int num; stringstream ss(s); ss>&…

IplImage* cvmat* mat 释放

IplImage* c_left; cvReleaseImage(&c_left); cvmat* img1r; cvReleaseMat(&img1r); mat img2; img2.release();

C语言fread函数了解

fread()函数---- Reads data from a stream. #include<stdio.h> size_t fread( void *buffer, size_t size, size_t count,FILE *stream ); 从一个文件流中读数据,读取count个元素,每个元素size字节.如果调用成功返回count.如果调用成功则实际读取size*count字节 buffer…

Chipscope信号无法找到的解决方案

&#xfeff;为了调试逻辑,现在很少再将FPGA中的信号引出,通过示波器或者逻辑分析仪来观察,更多的是在工程中生成stp或者cdc文件,通过signalTAP或者chipscope这两个工具来调试. 但我们发现,有时候在chipscope中很难找到你预期的信号,这往往是被综合器优化掉了,或者更改了信号名…

关于python 和C++使用cv画矩形并填充颜色同时填充文字

python: font cv2.FONT_HERSHEY_SIMPLEX # 使用默认字体 cv2.rectangle(im, (10, 10), (110, 110), (0, 0, 255), thickness2) # cv2.floodFill() cv2.rectangle(im, (113), int(110)), (int(300), int(135), …

C语言之strstr函数

FROM MSDN && 百科】 原型&#xff1a;char *strstr(const char *str1, const char *str2); #include<string.h> 找出str2字符串在str1字符串中第一次出现的位置&#xff08;不包括str2的串结束符&#xff09;。返回该位置的指针&#xff0c;如找不到&#xff0c…

C语言fwrite函数了解

fwrite()函数----write data to a stream 原型&#xff1a; size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); 注意&#xff1a;这个函数以二进制形式对文件进行操作&#xff0c;不局限于文本文件 demo: [cpp] view plaincopy #include <std…

Python-OpenCV 处理图像(一):基本操作 cv2

0x00. 图片读、写和显示操作 安装好 OpenCV 之后&#xff0c;首先尝试加载一张最简单的图片并显示出来&#xff0c;代码示例&#xff1a; 第一种方式使用cv2.cv的LoadImage、ShowImage和SaveImage函数 import cv2.cv as cv# 读图片 imagecv.LoadImage(img/image.png, cv.CV_LOA…

C语言fscanf函数了解

fscanf函数从一个流中执行格式化输入,fscanf遇到空格和换行时结束&#xff0c;注意空格时也结束。这与fgets有区别&#xff0c;fgets遇到空格不结束。 原型&#xff1a;int fscanf(FILE *stream, char *format,[argument...]); 返回值&#xff1a;返回实际被转换并赋值的输入项…

linux下gcc编译使用opencv的源文件时报错的处理:undefined reference to symbol '_ZNSsD1Ev@@GLIBCXX_3.4'

这阵子用OpenCV的sift做了一下匹配&#xff0c;在使用gcc编译时遇到这样的一个报错 /usr/bin/ld: /tmp/cceCEx1F.o: undefined reference to symbol _ZNSsD1EvGLIBCXX_3.4 //usr/lib/x86_64-linux-gnu/libstdc.so.6: error adding symbols: DSO missing from command linecoll…

C语言fgets函数了解

原型是&#xff1a;char *fgets(char *s, int n, FILE *stream); 从文件指针stream中读取n-1个字符&#xff0c;存到以s为起始地址的空间里&#xff0c;直到读完一行&#xff0c;如果成功则返回s的指针&#xff0c;否则返回NULL。 例如&#xff1a;一个文件是hello,world&…

PCL PCD文件读写

/* 时隔一年&#xff0c;又回来做双目视觉方向&#xff0c;需要重新启航&#xff0c;加油&#xff01;&#xff01;&#xff01; */ #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> int main() { //----------------…

判断两颗棵二叉树是否相等

int CompTree(TreeNode *tree1, TreeNode *tree2) { bool isTree1Null (tree1 NULL); bool isTree2Null (tree2 NULL); //其中一个为NULL,而另一个不为NULL,肯定不相等 if (isTree1Null ! isTree2Null) return 1; //两个都为NULL,一定相等 if (isTree1Null && isTr…