linux下第一个OpencV程序
linux下安装cmake方法(1)---下载压缩包
linux下安装cmake⽅法(1)---下载压缩包 OpenCV 2.2以后的版本需要使⽤Cmake⽣成makefile⽂件,因此需要先安装cmake;还有其它⼀些软件都需要先安装cmake 1.在linux环境下打开⽹页浏览器,输⼊⽹址:,找到最新版本的位置。
⼀般开放源代码软件都会有两个版本发布:Source Distribution 和 Binary Distribution,前者是源代码版,你需要⾃⼰编译成可执⾏软件。
后者是已经编译好的可执⾏版,直接可以拿来⽤的。
2.在linux环境下打开终端,输⼊:getconf LONG_BIT如果结果是64表⽰该系统是linux64位的,如果结果是32则表⽰系统是linux32位。
3.我现在所⽤的这台是64位,因此在cmake安装包的⽹站中选择binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x8664.tar.gz压缩包,点击,下载。
默认下载到了home/DOWNLOAD 4.把下载好的包复制到指定路径,⽐如/home/bnu,在当前⽂件夹中打开终端,输⼊tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz在该⽬录下多了⼀个解压后的⽂件夹 5.打开新的终端,输⼊该bashrc⽂件不⽤提前建⽴,路径也根据⾃⼰的情况改变,我定的路径与解压后的cmake包路径是⼀致的 6.此时会打开⼀个⽂件,找到export PATH=这些⾏,在这些⾏的下⾯另外添加⼀⾏,从⽽设置环境变量export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin输⼊完毕保存 7.查看版本,测试是否安装成功:打开终端,输⼊cmake --version结果是:cmake version 3.6.0(安装cmake成功!)要知道,在根⽬录下安装cmake,那么不同⽤户都可以共享使⽤这个cmake.如果是安装其它软件如opencv/caffe等,需要设置环境变量路径,如果路径是根⽬录,那么不同⽤户都能使⽤这些软件,但如果环境变量路径只在⼀个⽤户路径下,那么只有这个⽤户能⽤这些软件。
在Linux下安装C++的OpenCV3
在Linux下安装C++的OpenCV3最近在看《学习OpenCV3》这本书,所以记录下我在ubuntu16.4下搭建C++版本OpenCV 3.4.5的过程。
⾸先请确保cuda,gcc, g++都安装好了,我这⾥是cuda 10.0,gcc-4.9.4和gcc-5.5.0,它们之间的版本只要是配套的应该就没问题,我原本是按照Francesco Piscani油管视频:进⾏安装OpenCV 3.1.0 ,但是编译⽼是报错,后⾯怀疑是⾃⼰⽤的cuda版本有点新,⽽以前的Opencv 3.1.0有点跟不上配置,但之后就按照Davidhwj的进⾏配置成功了。
安装步骤:1. 更新系统源sudo apt-get update2. 安装依赖项sudo apt-get install cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev3. 下载OpenCV 3.4.5官⽹下载地址:之后将其解压⾄根⽬录下,我这⾥是home/下。
之后创建release⽂件夹:cd opencv-3.4.5~/opencv-3.4.5$ mkdir release4. 设置cmake参数~/opencv-3.4.5/$ cd release~/opencv-3.4.5/release/$ sudo cmake~/opencv-3.4.5/release/$ sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..或者使⽤默认安装设定:~/opencv-3.4.5/release/$ sudo cmake ..在cmake过程中常会报错ippicv_2019_lnx_intel64_general_20180723.tgz下载超时,解决办法就是到⾥下载该压缩包,之后打开opencv-3.4.5/3rdparty/ippicv/ippicv.cmake⽂件,然后复制下图中选中的命名后缀:在opencv-3.4.5/3rdparty/ippicv/下创建⽂件downloads,然后在downloads下创建⽂件名为linux-32e315a5b106a7b89dbed51c28f8120a48b368b4,并将之前下载的ippicv压缩包放⼊该⽂件夹下,如下图所⽰:最后再次打开opencv-3.4.5/3rdparty/ippicv/ippicv.cmake⽂件修改原来⽹络压缩包下载地址为⼿动下载好压缩包的⽂件地址,如下图所⽰:现在重新cmake就能成功了!5. 编译OpenCV~/opencv-3.4.5/release/$ sudo make~/opencv-3.4.5/release/$ sudo make install6. 配置环境变量~/opencv-3.4.5/release/$ sudo gedit /etc/ld.so.conf.d/opencv.conf在⽂件内添加⼀⾏:/usr/local/lib~/opencv-3.4.5/release/$ sudo ldconfig # 更新系统的共享链接库sudo gedit /etc/bash.bashrc在bashrc⾥末尾加⼊以下两⾏:export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport LD_LIBRARY_PATH=/home/lp/soft/opencv-3.4.5/release/lib:$LD_LIBRARY_PATH# 保存bashrc后,使其⽣效:~/opencv-3.4.5/release/$ source /etc/bash.bashrc7. 测试OpenCV安装是否正确在opencv-3.4.5/samples/cpp下创建⼀个测试代码并放⼊⼀张图⽚如下:⽤下⾯的命令创建测试代码:~/opencv-3.4.5/samples/cpp$ nano ex2_1.cpp#include <opencv2/opencv.hpp> //Include file for every supported OpenCV functionint main( int argc, char** argv ) {cv::Mat imgOriginal;imgOriginal = cv::imread("building.png");//cv::Mat img = cv::imread("building.jpg");if( imgOriginal.empty() ) return -1;cv::namedWindow( "Example1", cv::WINDOW_AUTOSIZE );cv::imshow( "Example1", imgOriginal );cv::waitKey( 0 );cv::destroyWindow( "Example1" );return0;}g++运⾏下⾯的命令:~/opencv-3.4.5/samples/cpp$ g++ ex2_1.cpp -o ex2_1 `pkg-config opencv --cflags --libs` ~/opencv-3.4.5/samples/cpp$ ./ex2_1这是如果弹出图⽚,说明OpenCV安装没问题,可以正常使⽤了。
个人整理的opencv最基本入门资料
---- By Moco Sun 2010.12.19
1. 简介 OpenCV 的全称是:Open Source Computer Vision Library,Intel 公司支持的开源计算机视
觉库,采用 c/c++编写,可以运行在 linux/windows/mac 等操作系统上。Opencv 还提供了 python、ruby、matlab 以及其他语言的接口。
//读取图像宽度 //读取图像高度 //读取图像通道数 //读取图像一行像素所占的字节数
{ pchar = (uchar*)image->imageData + i*widthStep; for (j=0; j<width; j++) { uchar* temp = pchar + j*channel; temp[0] += 10;//通道B temp[1] += 10;//通道G temp[2] += 10;//通道R }
其目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的 计算机视觉相关应用程序。Opencv 包含的函数有 500 多个,覆盖了如工厂产品检测、医学 成像、信息安全、用户界面、摄像机标定、立体视觉和机器人等,具体将在下面介绍。 Opencv 使用宽松的 BSD 开源协议,在遵守协议的情况下,允许生成商业产品,不必开发源 代码。
CvSize表示图像的大小,为含两个int的结构体,定义如下
typedef struct CvSize { int width; int height; }
CvSize; 小贴士
Cv与cv的区别:以Cv开头的一般是函数,以cv开头的通常是内联数据元素。 CvPoint结构体不支持默认构造函数,但是可以通过inline的cvPoint(注意首字母小写)函数来创 建一个无名的CvPoint,这在传递一些函数参数经常使用,同理,CvScalar与cvScalar,CvSize与 cvSize等也有这样的用法。
学会在嵌入式Linux下使用OpenCV
学会在嵌入式Linux下使用OpenCV1). 简介OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。
OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。
OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,以解决人机交互,人脸识别以及动作跟踪等领域的问题。
本文所采用的测试平台为来自Toradex的ARM 计算机模块平台Colibri iMX6DL搭配其对应的开发载板Colibri Eva Board.2. 准备a). Colibri iMX6DL系统通过载板X18连接LVDS LCD显示屏。
b). USB camera 用于后续OpenCV演示程序测试。
c). Colibri iMX6DL 系统使用Toradex Linux Release V2.6.1,不过原生没有包含OpenCV支持,可以通过下面两种方式集成OpenCV。
./ 在Colibri iMX6DL官方Linux release系统上面,通过opkg软件管理器在线安装------------------------------root@colibri-imx6# opkg updateroot@colibri-imx6# opkg install opencvroot@colibri-imx6# opkg install opencv-apps------------------------------./ 基于Toradex Openembedded环境添加OpenCV相关并重新编译,好处可以更方便的定制所需安装的包,如添加ffmpeg/lib**支持。
建立环境和编译相关请参考这里,涉及到添加OpenCV支持的修改请参考下面两个patch文件,然后根据这里说明将重新编译好的image 文件更新到Colibri iMX6DL模块上面去。
LINUX(UBUNTU)下OPENCV安装教程
详细的步骤,在ubuntu14.04上安装OpenCV2.4.3成功。
安装OpenCV:1.安装必要的软件apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev2.下载OpenCV,我的OpenCV-2.4.3.tar.bz2是在csdn上下载的3.解压到任意目录进入到压缩包存放的目录tar xvf OpenCV-2.4.3.tar.bz2cd OpenCV-2.4.3/mkdir releasecd release4.cmake编译OpenCV源码,所有的lib文件都会被安装到/usr/local目录下cmake-D CMAKE_BUILD_TYPE=RELEASE-D CMAKE_INSTALL_PREFIX=/usr/local..5.安装makesudo make installNow you have to configure OpenCV.First,open the opencv.conf file with the following code: 1sudo gedit/etc/ld.so.conf.d/opencv.confAdd the following line at the end of the file(it may be an empty file,that is ok)and then save it:1/usr/local/libRun the following code to configure the library:1sudo ldconfigNow you have to open another file:sudo gedit/etc/bash.bashrcAdd these two lines at the end of the file and save it:PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATHFinally,close the console and open a new one,restart the computer or logout and then login again.OpenCV will not work correctly until you do this.Now you have OpenCV2.4.1installed in your computer with Python,TBB,OpenGL, video,and Qt support./*下面这段可忽略环境变量pkg_config_path提供编译时和运行时库的路径查询。
linux下安装opencv
Opencv版本:2.4.4二、安装步骤:1、解压缩OpenCV-2.4.4a.tar.bz2安装包:tar jxvf OpenCV-2.4.4a.tar.bz2cd opencv-2.4.42、用cmake进行编译:mkdir release244 //目录名可以任意命名cd release244cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/public/software/opencv244-D BUILD_PYTHON_SUPPORT=ON ..//注意-D CMAKE_INSTALL_PREFIX表示安装目录,我这里选为/public/software/opencv2443、编译和安装上面的步骤执行成功后再执行:makemake install即可完成编译和安装三、安装后的配置1、准备环境变量文件:vi /etc/profile.d/opencv-env.shexport LD_LIBRARY_PATH=/public/software/opencv244/lib:$LD_LIB RARY_PATHexport INCLUDE=/public/software/opencv244/include/opencv:/publi c/software/opencv244/include/opencv2:$INCLUDEexport PKG_CONFIG_PATH=/public/software/opencv244/lib/pkgconf ig//这个文件是根据之前的安装目录写的,PKG_CONFIG_PATH这个必须写,其他两个貌似也可以不写2、载入环境变量:. /etc/profile.d/opencv-env.sh四、算例演示1、准备算例:cat myopencv.cpp#include "highgui.h"int main( int argc, char** argv )IplImage* img = cvLoadImage( argv[1] ); cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE ); cvShowImage( "Example1", img );cvWaitKey(0);cvReleaseImage( &img );cvDestroyWindow( "Example1" );}2、编译g++ `pkg-config opencv --libs --cflags opencv` myopencv.cpp -o myopencv编译成功后会生成可执行文件myopencv3、运行向此目录下上传一张图片,比如我这里是Lena.jpg执行:./myopencv Lena.jpg便可弹出图片。
Python计算机视觉库OpenCV
Python计算机视觉库OpenCV 引言计算机视觉是指利用计算机和相关技术来模拟和实现人类视觉功能的学科。
近年来,随着计算机技术的不断发展,计算机视觉技术也得到了极大的发展和应用。
其中,OpenCV作为计算机视觉领域中的重要工具之一,受到了广泛关注。
本文将对OpenCV进行详细介绍,包括其基本原理、应用实例以及未来发展方向等方面。
一、OpenCV的基本原理OpenCV是一个跨平台的开源计算机视觉库,由英特尔公司发起并支持。
它可以运行在Windows、Linux、Mac OS等多种操作系统上,提供了丰富的计算机视觉算法和图像处理功能。
OpenCV最初是针对一个具体的研究项目而开发的,但现在已成为计算机视觉领域中的标准工具之一。
OpenCV的主要功能包括:1.图像载入和显示:OpenCV可以读取多种图像格式,包括JPG、BMP、PNG等,并提供统一的接口进行显示。
2.形状检测:OpenCV可以检测和匹配图像中的几何形状,包括线条、矩形、圆形等。
3.物体检测和识别:OpenCV可以检测和识别图像中的物体,包括人脸、车辆、纹理等各种类型。
4.图像分割和重构:OpenCV可以对图像进行分割和重构,提取图像中的关键物体、目标等。
二、OpenCV的应用实例1.人脸识别人脸识别是计算机视觉领域中的典型应用之一。
OpenCV提供了多种人脸检测和识别算法,可以高精度地检测到人脸,并对其进行分类、跟踪等操作。
这些算法包括Haar特征检测、LBP特征检测、深度学习等。
2.车牌识别车牌识别是计算机视觉领域中的另一个典型应用。
OpenCV可以通过图像处理算法对车牌区域进行精确定位和识别,从而实现自动识别车牌号码的功能。
这对于不同类型的道路监控和交通管理系统非常重要。
3.景点识别OpenCV可以通过图像特征匹配和检索等算法,实现对自然景点的识别。
这对于旅游智能化、文化遗产保护等领域有着重要的应用价值。
将来,OpenCV还可以结合语音识别等技术,实现更加智能的景点导览系统。
linux下的OpenCV安装&学习笔记(修订版,解决无法打开视频文件问题)
linux下的OpenCV安装&学习笔记(修订版,解决无法打开视频文件问题)1. 首先获取ffmpeg,不装这个OpenCV打不开很多视频文件格式。
很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载,不过最近他已经换成了更加强大的svn如何使用SVN我这里不再介绍,网上还有大量的安装和使用的文章可以借鉴,这里简单罗列几个SVN辅助的软件:SubVersion,从 / 下载,支持linux,我们这里就装这个TortoiseSVN,从/ 下载,是很不错的SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端,用起来很方便,commit动作变得就像Winrar右键压缩一样方便。
ok,那我们先装subversion,记住最好之前装过apr和apr-util,在网站能下到wget /downloads/subversion-1.3.2.tar.gztar zvxf subversion-1.3.2.tar.gzcd subversion-1.3.2./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/makemake install到此,我们就可以通过svn命令获取最新的ffmpeg了svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg你会发现在你所在的目录,自动出现一个ffmpeg的目录,就是你下载的源代码。
2.下面是ffmpeg的编译#./configure --enable-libogg --enable-shared --enable-gpl(一定要加上 --enable-shared,不然OpenCV找不到ffmpeg库) #make#make install====================================== ==========2006-10-31.下载:opencv-0.9.9.tar.gz/sourceforge/opencvlibrary/opencv-0.9.9.tar.gz2.#tar -xzvf opencv-0.9.9.tar.gz3.#./configure --with-quicktime=no --with-ffmpeg(OpenCV默认用quicktime打开视频文件,我把他改成ffmpeg)4.#make5.#make install6.相关配置修改/etc/ld.so.conf添加一行/usr/local/lib# ldconfig (root用户)然后将/usr/local/lib/pkgconfig中的opencv.pc 拷贝到/usr/lib/pkgconfig中,(如果不做这步,根本编译不起)可以采用这个操作# cp /usr/local/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig7.编辑opencv程序的方法以编辑cvtest.c文件为例子(因为highgui中采用了c++,所以一定要用g++编译才可以)A. g++ `pkg-config --cflags opencv` -o cvtest cvtest.c `pkg-config --libs opencv`B. 编译: g++ `pkg-config --cflags opencv` -c cvtest.c链接: g++ `pkg-config --libs opencv` -o cvtest cvtest.o====================================== ===============2006-10-3例子:/*************************************************** 背景建模,运动物体检测***************************************************//************************************************************** ********** OpenCV example* Copyright (C) 2006 Shiqi Yu** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*************************************************************** ********/#include <stdio.h>#include <cv.h>#include <cxcore.h>#include <highgui.h>int main( int argc, char** argv ){//声明IplImage指针IplImage* pFrame = NULL;IplImage* pFrImg = NULL;IplImage* pBkImg = NULL;CvMat* pFrameMat = NULL;CvMat* pFrMat = NULL;CvMat* pBkMat = NULL;CvCapture* pCapture = NULL;int nFrmNum = 0;//创建窗口cvNamedWindow("video", 1);cvNamedWindow("background",1); cvNamedWindow("foreground",1);//使窗口有序排列cvMoveWindow("video", 30, 0);cvMoveWindow("background", 360, 0); cvMoveWindow("foreground", 690, 0);if( argc != 2 ){fprintf(stderr, "Usage: bkgrd <video_file_name>\n"); return -1;}//打开视频文件if( !(pCapture = cvCreateFileCapture(argv[1]))){fprintf(stderr, "Can not open video file %s\n", argv[1]); return -2;}//逐帧读取视频while(pFrame = cvQueryFrame( pCapture )){nFrmNum++;//如果是第一帧,需要申请内存,并初始化if(nFrmNum == 1){pBkImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1);pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1);pBkMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);pFrMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);pFrameMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);//转化成单通道图像再处理cvCvtColor(pFrame, pBkImg, CV_BGR2GRAY);cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);cvConvert(pFrImg, pFrameMat);cvConvert(pFrImg, pFrMat);cvConvert(pFrImg, pBkMat);}else{cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);cvConvert(pFrImg, pFrameMat);//高斯滤波先,以平滑图像//cvSmooth(pFrameMat, pFrameMat, CV_GAUSSIAN, 3, 0, 0);//当前帧跟背景图相减cvAbsDiff(pFrameMat, pBkMat, pFrMat);//二值化前景图cvThreshold(pFrMat, pFrImg, 60, 255.0, CV_THRESH_BINARY);//进行形态学滤波,去掉噪音//cvErode(pFrImg, pFrImg, 0, 1);//cvDilate(pFrImg, pFrImg, 0, 1);//更新背景cvRunningAvg(pFrameMat, pBkMat, 0.003, 0);//将背景转化为图像格式,用以显示cvConvert(pBkMat, pBkImg);//显示图像cvShowImage("video", pFrame);cvShowImage("background", pBkImg);cvShowImage("foreground", pFrImg);//如果有按键事件,则跳出循环//此等待也为cvShowImage函数提供时间完成显示//等待时间可以根据CPU速度调整if( cvWaitKey(2) >= 0 )break;}}//销毁窗口cvDestroyWindow("video"); cvDestroyWindow("background"); cvDestroyWindow("foreground");//释放图像和矩阵cvReleaseImage(&pFrImg); cvReleaseImage(&pBkImg);cvReleaseMat(&pFrameMat); cvReleaseMat(&pFrMat); cvReleaseMat(&pBkMat);return 0;}。
Linux(Ubuntu18.04)中安装OpenCV+OpenCV_Contrib
Linux (Ubuntu18.04)中安装OpenCV+OpenCV_Contrib从github 中down 下OPenCV + OpenCV_Contrib 库,可以从上下载(注意版本对应)将opencv_contrib ⽬录移到opencv ⽬录下添加opencv 所需要的依赖库:Required PackagesGCC 4.4.x or laterCMake 2.8.7 or higherGitGTK+2.x or higher, including headers (libgtk2.0-dev)pkg-configPython 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev (⼀些开发⽤视频解码)[optional] libtbb2 libtbb-dev[optional] libdc1394 2.x[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev[optional] CUDA Toolkit 6.5 or higher在使⽤命令sudo apt-get install libjaster-dev出现:errorE: unable to locate libjasper-dev 时,执⾏进⼊opencv ⽂件夹,打开terminalcmake编译(后⾯的两个点不能丢)cd ~/<my_working_directory>git clone https:///opencv/opencv.gitgit clone https:///opencv/opencv_contrib.gitsudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-devsudo add-apt-repository "deb /ubuntu xenial-security main"sudo apt updatemkdir buildcd buildcmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..make -j8pythonimport cv2如果出现"No module named cv2",请执⾏sudo apt-get install python-opencv。
Opencv在linux下安装
Linux下配置opencv(opencv2.3.1为例) 1.建立一个文件夹命令:mkdir opencv2.进入该文件夹中命令:cd opencv/3.先配置系统:命令:sudo apt-get update命令:sudo apt-get upgrade4.工具准备(安装必要的依赖包)命令:sudo apt-get install cmakesudo apt-get install cmake-curses-guisudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-devlibopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev sudo apt-get install build-essential checkinstall git cmakelibfaac-devlibjack-jackd2-dev libmp3lame-dev libopencore-amrnb-devlibopencore-amrwb-devlibsdl1.2-devlibtheora-dev libva-dev libvdpau-devlibvorbis-dev libx11-devlibxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev(注意:这些库文件缺一不可)5.读取摄像头需要安装lib4:命令:wget /downloads/v4l-utils/v4l-utils-0.8.5.tar.bz2解压该文件命令:tar -xvfv4l-utils-0.8.5.tar.bz2进入该文件夹:cd v4l-utils-0.8.5/安装文件:sudo make install6.安装ffmpeg1(1)命令:cd ../(2)找到文件:wget/releases/ffmpeg-0.7-rc1.tar.gz //下载ffmpeg-0.7-rc1.tar.gz安装包,建议直接从网下载速度较快,这样第2步可以省略直接进入第3步(3)解压文件命令:tar -xvzf ffmpeg-0.7-rc1.tar.gz (4)进入该文件夹命令:cd ffmpeg-0.7-rc1命令:./configure --enable-gpl --enable-libfaac--enable-libmp3lame --enable-libopencore-amrnb--enable-libopencore-amrwb --enable-libtheora--enable-libvorbis --enable-libx264 --enable-libxvid--enable-nonfree --enable-postproc --enable-version3--enable-x11grab –enable-shared(#命令:./configure --enable-gpl --enable-version3--enable-nonfree --enable-postproc --enable-libfaac--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid--enable-x11grab --enable-swscale –enable-shared?)(若有些错误通过apt-get install进行安装,其他可通过apt-get install xxx-dev进行安装。
Opencv简介和第一个opencv程序
const char *pstrImageName = "1.jpg";//指定显示图像文件名称
const char *pstrWindowsTitle = "My first opencv program";//定义窗口名称 IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);//从文件中读取图像 cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);//创建窗口 cvShowImage(pstrWindowsTitle, pImage);//在指定窗口中显示图像 cvWaitKey();//等待按键事件 cvDestroyWindow(pstrWindowsTitle);//关闭窗口 cvReleaseImage(&pImage);//释放图像内存空间 return 0; }
IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);//从文件中读取图像 cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);//创建窗口 cvShowImage(pstrWindowsTitle, pImage);//在指定窗口中显示图像 cvWaitKey();//等待按键事件 cvDestroyWindow(pstrWindowsTitle);//关闭窗口
#include <cstring>
#include
cvReleaseImage(&pImage);//释放图像内存空间
Linux下安装OpenCV
|改成
#if defined(HAVE_CAMV4L)
完成
5、编译安装OpenCV2.2
在解压目录下创建build文件夹,运行cmake,命令:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
2、下载Opencv for linux
首先下载opencv的源文件包,下载地址:/download/OpenCV-2.1.0.tar.bz2
创建opencv安装目录/home/(你的登录用户名)/Opencv/,命令:sudo mkdir ~/home/(你的登录用户名)/Opencv
解压cmake包,进入刚刚创建的文件夹,输入tar zxvf ./cmake-2.8.4.tar.gz
编译安装,进入文件夹/home/(你的登录用户名)/cmake/cmake-2.8.4,命令:sudo ./bootstrap; make; make install
打开在用户主目录,用vim或者gedit打开修改/home/(你的登录用户名)/.bashrc, 增加一行 PATH=$PATH:/home/(你的登录用户名)/program/cmake/cmake-2.8.4/bin:
修改bash.bashrc文件,sudo gedit /etc/bash.bashrc
在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
opencv编译安装笔记(Linux、Ubuntu )
2.0.0/src/highgui/window.cpp,line100
terminatecalledafterthrowinganinstanceof'cv::ExcepTIon'
通过网络获取安装:
查看版本,测试是否安装成功:
root@emouse:/home#cmake--version
cmakeversion2.8.10.2
二、Ubuntu下安装OpenCV
软件环境:
Ubuntu12.04
OpenCV2.4.3
Cmake2.8.10.1
gcc4.6.3(系统默认)
1、先安装libgtk2.0-dev和pkg-config,,否则后期编译运行程序会出现
类似如下的问题:
OpenCVError:Unspecifiederror(ThefuncTIonisnotimplemented.Rebuild
thelibrarywithWindows,GTK+2.xorCarbonsupport.IfyouareonUbuntuor
Debian,installlibgtk2.0-devandpkg-config,thenre-runcmakeorconfigurescript)
#apt-getinstalllibgtk2.0-dev
#apt-getinstallpkg-config
2、下载OpenCV,文件名:OpenCV-2.4.3.tar.bz2
解压:
#ta到文件夹OpenCV-2.4.3
这里新建一个文件夹OpenCV-x86作为PC编译目录。
OpenCV学习一《Linux下安装OpenCV》
OpenCV学习⼀《Linux下安装OpenCV》第⼀步:安装源码前先安装好需要的第三⽅⽅环境需要的编译环境■ [compiler] sudo apt-get install build-essential# 注释说明64位ubuntu在安装build-essential遇到依赖问题的解决办法依赖的库■ [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-devlibswscale-dev可以选择安装的■ [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-devlibtiff-dev libjasper-dev libdc1394-22-dev还有⼀点需要重要的特殊说明,就是在Ubuntu可视化界⾯操作的时候不要随便取消更新勾选中的东西,不然很容易出现问题将上传的两个OpenCV源码解压到 ~ ⽬录中解压好后 依次执⾏以下的命令cd opencvmkdir buildcd build最后执⾏编译命令cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local .. 出现这个结果的话 就表⽰成功的安装了中间可能会遇到 下载⼀个⽂件下载不完的问题,只要将提前下载好的⽂件复制进去 即可解决这个问题最后的⼀步在 ~/opencv/build 中分别执⾏命令makesudo 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);return0;}编译代码g++ -o test_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs 执⾏代码./test_opencv.cpp执⾏效果 ,如果出现lena.jpg 图 就证明安装成功!。
windows 和 linux下的 opencv安装说明
-3-
-2-
F:\VMware\Src\opencv安装说明.txt
2015年8月18日 14:30
Use Use Use Use
libpng: libtiff: libjasper: libIlmImf/OpenEXR:
yes no no no
Video I/O --------------------Use QuickTime / Mac OS X: no Use xine: no Use gstreamer: no Use ffmpeg: no Use dc1394 & raw1394: no Use dc1394_v2 & raw1394: no Use v4l: yes Use v4l2: yes Use unicap: no Wrappers for other languages ========================================= SWIG Python Octave
//arm-opencv 1. cd /opt/ 2. mkdir armopencv 3. cd /opt/OpenCV-2.0.0/ 4. make clean (如果是刚刚解压的就不用make clean) 5. ./configure --host=arm-linux --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/include LDFLAGS=-L/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/lib --with-v4l2 --prefix=/opt/armopencv --libdir=/opt/armopencv/lib --includedir=/opt/armopencv/include ======result====== General configuration ================================================ CXX: CXXCPP: CPPFLAGS: CXXFLAGS: LDFLAGS: Install path: Debug flags Optimization flags MMX/SSE/SSE2/SSE3: OpenMP support: External BLAS & LAPACK: arm-linux-g++ arm-linux-g++ -E -I/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/include -L/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/lib /opt/armopencv
opencv_简介
图像处理模块
图像变换
提供多种图像变换方法,如缩 放、裁剪、旋转等。
形态学操作
进行膨胀、腐蚀、开运算和闭 运算等形态学操作,以改善图 像质量。
图像读取与写入
OpenCV 支持读取和写入多种 图像格式,如 JPEG、PNG、 BMP 等。
图像滤波
应用各种滤波器,如高斯滤波 、中值滤波等,以增强图像质 量。
目的
OpenCV旨在为实时图像处理提供一套通用的、高效的解决方案。
内容
OpenCV包含了众多图像处理和计算机视觉方面的算法,涉及领域包括图像增强、特征提 取、目标检测与识别、视频分析、3D重建等。
OpenCV 的历史与发展
起源
01
OpenCV起源于1991年,由Gary Bradski创建,初
衷是为了解决工业视觉问题。
色彩空间转换
支持将图像从一种色彩空间转 换到另一种色彩空间,如 RGB 到灰度。
视频分析模块
视频读取与写入
OpenCV 支持读取和写入多种视频格式,如 AVI、MP4 等。
视频帧提取
从视频中提取单帧图像进行进一步分析。
运动分析
通过光流法、背景减除等方法进行运动物体的检测和跟踪。
目标检测
利用帧间差分法等方法检测视频中的目标。
OpenCV 扩展库介绍
• OpenCV 扩展库是 OpenCV 的一个子项目,它提供了一些高级的功能,如深度学习、3D 重建等。开发者可 以使用 OpenCV 扩展库来扩展 OpenCV 的功能。
04
OpenCV 语言支持与开发环境
OpenCV 支持的语言及平台
OpenCV 支持多种编程语言,包括 C、Python、Java、MATLAB 等,方便开发者使用自己熟悉的编 程语言进行开发。
OpenCV简介
IplImage结构体定义
void*imageId;//可忽略 struct_IplTileInfo*tileInfo;//可忽略 int imageSize;//图像大小 char*imageData;//指向图像数据的指针 int widthStep;//校准后的行字节数 int BorderModel[4];//可忽略 int BorderConst[4];//可忽略 char*imageDataOrigin;//指向完整的没有 校准的图像
OpenCV中包含了300多种图像处理和计算 机视觉方面的C/C++程序,其中包含大量的 函数用来处理计算机视觉领域常见的问题, 如:运动分析、目标跟踪、人脸识别、3D 重建和目标识别等 OpenCV自2000年发布以来,已经被下载50 万次,吸引超过5000名会员注册加入
何为 OpenCV
目前OpenCV包含如下几个部分:
OpenCV 常用函数
NamedWindow():窗口定义函数 语法: int cvNamedWindow (const char* name, unsigned long flags); 参数类型说明: Name const char* 窗口名 Flags unsigned long 窗口属性指标值, 可以选择 CV_WINDOW_AUTOSIZE共有 1 和0 两种值。 CV_WINDOW_AUTOSIZE 表示窗口尺寸与原始 尺寸相同,0 表示以固定的尺寸显示图像 返回值:无
Linux安装Opencv详细流程以及arm移植opencv
Linux Ubuntu 安装Opencv作者:Tiger(xia)1.我们需要安装一个cmake(我这里用的是2.8.12.2版本)2.首先下载一个cmake3.Tar zxvf cmake的压缩报4.进入解压的文件夹输入./bootstrap5.make6.make install7.还需要一些库libgtk2.0-dev build-essential pkg-config (用apt-get install +对应的库)8.在下载Opencv(我是2.4.9版本)(默认安装在/usr/local/bin 和/usr/local/include)$ cd OpenCV-2.4.9$ cmake CMakeLists.txt$ make && make install9.export LD_LIBRARY_PATH=/usr/local/lib10.测试就加个Opencv的头文件就知道了11.pkg-config --modversion opencv12.编译gxx `pkg-config opencv --libs --cflags opencv` opencv_test.c -o test注意:一定先安装gtk库再安装opencvOpencv 移植编译说明:我们移植opencv 到itop arm板,交叉编译器是arm-none-linux-gnueabi-gcc,和arm-none-linux-gnueabi-g++前面已经介绍了opencv和cmake 的安装,这里用的是图形界面安装cmake-gui来进行opencv的交叉编译。
1.安装cmake-qt-gui (cmake的界面终端)sudo apt-get install cmake-qt-gui2.解压opencv2.4.9 tar -xzvf opencv2.4.9.tar.gz3.对opencv的交叉编译的相关配置在点击Configure那个按钮后要选择交叉编译如图:编译时要去掉几个cmake的复选框的BUILD_opencv_ocl 、WITH_OPENCL、WITH_TIFF 选项(不去掉编译时要出错哦)。
linux_openCV
Linux下OpenCV安装及使用简介October20,2012本文以Ubuntu为例说明安装OpenCV的基本步骤。
本例只包含基本的安装选项,不包括GPU等的设置。
1安装带图形界面的cmake。
cmake并不能直接编译程序文件,它的作用是根据本机器的操作系统及配置生成对应的编译环境。
如果是Windows平台,cmake会生成Visual Studio项目文件,如果是Linux平台,cmake则会生成Makefile。
cmake可以在控制台中用命令执行,但这样要手动设置参数,比较麻烦。
所以建议使用图形界面的cmake。
安装cmake可执行:sudo apt-get install cmake-qt-gui安装完成后运行cmake:cmake-gui如果一切顺利,则可以看到如图1所示的界面。
在“Where is the source code:”一栏(对应图1中的1所指)选择OpenCV解压后的文件夹。
下载OpenCV-2.4.2源文件后直接解压,会自动生成OpenCV-2.4.2文件夹,这里就选择这个文件夹,里面包含的内容如图2所示。
注意,我在这个文件夹下面还建立了一个release子文件夹,在cmake界面“Where to build the binaries:”一栏中(对应图1中的2所指)选择这个文件夹存放cmake生成的文件。
设置好这两个路径后点击Configure按钮,cmake就开始干活了。
第一次配置完成后上面的所有选项都是红色,再点击一次Configure,如果所有勾选的选项都变成了白色,则说明配置成功。
此时点击Generate按钮,cmake便会在release文件夹中生成编译所需的文件(如图3所示)。
2成功运行cmake后便可以编译OpenCV源代码了。
打开一个控制台,进入图3所显示的文件夹,运行make命令。
3程序编译成功后,运行安装命令:sudo make install这个命令需要使用root帐号执行,安装时才能将OpenCV头文件拷贝到相应目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux下第一个OpencV程序
今天在linux下安装了OpenCV,下面是我的linux下第一个OpencV程序,很简单,但是在编译的过程中还是遇到了不少的问题。
下面就简单总结一下。
源代码如下(hello.c):
#include "cv.h"
#include "highgui.h"
int main(int argc,char **argv)
{
IplImage* pImage;
if (argc == 2 && (pImage=cvLoadImage(argv[1],1)) !=0)
{
cvNamedWindow("Image",1);
cvShowImage("Image",pImage);
cvWaitKey(0);
cvDestroyWindow("Image");
cvReleaseImage(&pImage);
return 0;
}
return -1;
}
1.编译:gcc hello.c -o hello
报错如下:
hello.c:1:16: 错误:cv.h:没有该文件或目录
hello.c:2:21: 错误:highgui.h:没有该文件或目录
hello.c: 在函数‘main’ 中:
hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)
hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
hello.c:6: 错误:所在的函数内只报告一次。
)
hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用)
hello.c:20:2: 警告:文件未以空白行结束
解决方法:
把目录/usr/local/include/opencv拷贝到/usr/include下,
即执行命令:sudo cp -r /usr/local/include/opencv /usr/include
再编译:gcc hello.c -o hello
仍然报错:
hello.c:1:16: 错误:cv.h:没有该文件或目录
hello.c:2:21: 错误:highgui.h:没有该文件或目录
hello.c: 在函数‘main’ 中:
hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)
hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
hello.c:6: 错误:所在的函数内只报告一次。
)
hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用)
hello.c:20:2: 警告:文件未以空白行结束
再改变编译命令:
g++ `pkg-config --cflags opencv` -c hello.c
链接命令:
g++ `pkg-config --libs opencv` -o hello hello.o
此时编译成功,执行时候,需要进入超级用户模式下,并进入工程目录,执行命令:hello v.jpg即可显示出图片v.jpg
虽然有看到图片但是其中的有些原理还不是很清楚,会进一步跟踪研究~~~。