当前位置:首页 » 编程软件 » linux下编译opencv

linux下编译opencv

发布时间: 2022-05-09 02:08:19

A. linux下对caffe和opencv这些库的调用怎么编译

linux下怎么把python怎么引进caffe首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数

B. 如何在Linux下编译安装OpenCV

去opencv的linux安装版本,linux版本的opencv不同于windows版本的,里面没有已经编译好的各类库文件,需要使用cmake进行编译才能使用。在opencv的目录下执行cmake config对编译过程进行配置,然后执行cmake install 对opencv进行编译安装

C. 有哪位知道linux下怎么编译安装opencv的

到官网上下载opencv的linux版本安装包,llinux版本的opencv没有直接的解压安装包,需要配合cmake工具对下载下来的源代码进行编译安装。cmake安装opencv也相对简单,基本就两步,cmake config配置相关选项,然后执行cmake install进行编译安装。

D. linux 下 opencv程序怎么编译

运行了楼上给的命令之后,结果是这样的:
# g++ `pkg-config opencv --libs --cflags opencv` facedect.cpp -o facedect -static
/tmp/cc8XhRf6.o: In function `find_face(_IplImage*)':
facedect.cpp:(.text+0x51): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xc0): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xdd): undefined reference to `cvCvtColor'
facedect.cpp:(.text+0xf7): undefined reference to `cvResize'
facedect.cpp:(.text+0x109): undefined reference to `cvEqualizeHist'
facedect.cpp:(.text+0x116): undefined reference to `cvClearMemStorage'
facedect.cpp:(.text+0x188): undefined reference to `cvHaarDetectObjects'
facedect.cpp:(.text+0x1c6): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x1d1): undefined reference to `cvReleaseImage'
/tmp/cc8XhRf6.o: In function `isperson(char const*)':
facedect.cpp:(.text+0x21e): undefined reference to `cvLoad'
facedect.cpp:(.text+0x22f): undefined reference to `cvCreateMemStorage'
facedect.cpp:(.text+0x25a): undefined reference to `cvLoadImage'
facedect.cpp:(.text+0x27d): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x289): undefined reference to `cvDestroyWindow'
collect2: ld returned 1 exit status

E. 如何早linux 下编译运行opencv测试程序

首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数。

F. Linux下怎么配置python和opencv

以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支持,首先在安装OpenCV前安装必要的组件,一般列表如下:
1、gcc g++一般系统自带
2、cmake 编译OpenCV时使用,需要手动安装
3、pkg-config命令,一般系统自带,如果缺少,使用 yum -y install pkg-config 安装
4、Python 2.x,系统自带
5、NumPy 一个用于大型矩阵处理的库,这个必须!如果不安装则后面OpenCV安装后也编译不出来Python的模块,其他库可以后来安装
最后一步是安装OpenCV
在保证前4项没问题的情况下,开始安装NumPy模块,官网下载地址为:http://www.scipy.org/scipylib/download.html
进入SourceForge下载,地址为:https://sourceforge.net/projects/numpy/
直接点击Download即可下载,下载成功之后上传到Linux服务器,安装过程很简单,解压后直接安装即可(之前要确保python-devel已经安装)
unzip numpy-1.11.1.zip
cd numpy-1.11.1/
python setup.py install

另外numpy还可以去python官网下载:https://pypi.python.org/pypi/numpy
安装成功之后接下来进一步安装OpenCV,官方网站为:http://opencv.org/进入后点击DOWNLOADS来到下载界面:http://opencv.org/downloads.html,这里下载2.4.13的版本
下载完之后上传到Linux,执行接下来的安装:
unzip opencv-2.4.13.zip
cd opencv-2.4.13/
cmake -D WITH_GTK_2_X=ON -D CMAKE_INSTALL_PREFIX=/usr/local .
make # make -j4表示开4个线程来进行编译
make install

安装过程时间可能会有点长10~30分钟左右,编译完成之后OpenCV就安装到了指定的/usr/local下面的一些目录中,库文件就安装到了/usr/local/lib下,Python的模块安装位置是:/usr/local/lib/python2.7/site-packages,执行 ls /usr/local/lib/python2.7/site-packages/ 可以看到两个文件,一个是cv2.so一个是cv.py
这两个文件在刚才opencv-2.4.13编译的目录下面lib/下也存在着两个python模块文件,但是不幸的是现在并不能直接使用,原因是我们操作系统python依赖包的位置是/usr/lib/python2.7下,所以刚才如果编译到/usr下是直接可以用的,不过这个也不重要,只要我们将这两个文件复制到正确的目录下,那么就能正常使用OpenCV的功能了,执行: cp /usr/local/lib/python2.7/site-packages/cv* /usr/lib/python2.7/site-packages/ 复制过去之后进入python交互式界面执行 import cv2 没有报错则安装成功
可以写一个测试的小案例,在服务器上有一张图片是test.jpg现在简单的使用cv2模块解析成图像矩阵,然后再写入磁盘文件中,代码如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import cv2
image = cv2.imread("test.jpg")
print image
cv2.imwrite("test1.jpg",image)

这里将原有的test.jpg生成test1.jpg,
执行 python cvtest.py 执行完后会发现输出好多矩阵变量,并且生成了test1.jpg文件
生成的文件有可能比原文件大也有可能小,具体根据图像来决定,现在查看一下图片内容,和之前是一样的

G. 怎么安装opencv linux

OpenCV是一个基于开源发行的跨平台计算机视觉库,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。在linux上安装opencv的方法如下:

工具:

Windows7、VMware Workstation 12 Pro、ubuntu-15.10、opencv-3.0.0.zip

步骤:

一、安装关联库

1、安装编译工具:sudo apt-get install build-essential

编译程序有了这个软件,它才知道头文件和库函数在哪,最后才形成一个开发环境。

H. linux 怎么用opencv

预备

GCC
CMake
OpenCV

这些都可以在CentOS 6.0的“添加/删除软件”里面找到并安装。其他Linux版本可以选择用编译后安装或者在Rpmfind寻找二进制安装版本:

http://rpmfind.net/

CentOS安装OpenCV 2.4+

下载OpenCV 2.4+压缩包解压到一个文件夹里,如:/home/me/opencv/
构建Makefile,在终端输入,进行构建:

cd /home/me/opencv/

cmake .

进行编译并安装,编译过程可能有些警告发生,请无视这些警告:

make

make check

make install

写一个OpenCV程序

新建一个简单的程序,例如:DisplayImage.cpp。

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

//使用cv这个命名空间
using namespace cv;

/* 主函数
*C语言规定main函数只能有两个参数,
*习惯上将这两个参数写成argc和argv。
*第一个代表(传参个数+1),
*第二个代表传惨数据。
*一般有两种写法:
*main( int argc, char* argv[])
*main( int argc, char** argv)
*/
int main( int argc, char** argv )
{
//建立一个Mat类型的变量image
Mat image;
/* API中有:
* C++: Mat imread(const string& filename, int flags=1 )
* 意思是返回Mat类型数据,第一个参数接受一个string类型的引用,
* 第二个参数接受一个int类型的flags,一般都是1。
*/
image = imread( argv[1], 1 );

//当传的参数不是一个,或者图片没有数据则提示没有图片并退出程序
if( argc != 2 || !image.data )
{
printf( "没有该图片 \n" );
return -1;
}

//C++: void namedWindow(const string& winname, int flags=CV_WINDOW_AUTOSIZE )
namedWindow( "显示图片", CV_WINDOW_AUTOSIZE );
//C++: void imshow(const string& winname, InputArray mat)
imshow( "显示图片", image );
//C++: int waitKey(int delay=0)
waitKey(0);

return 0;
}

新的头文件写法

同样的程序,可以用新的头文件写法来写:

#include "opencv2/core/core.hpp"

#include "opencv2/highgui/highgui.hpp"

#include <stdio.h>

using namespace cv;

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

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

namedWindow( "显示图片", CV_WINDOW_AUTOSIZE );
imshow( "显示图片", image );
waitKey(0);

return 0;
}

创建一个对应的CMake文件

新建一个CMakeLists.txt,内容大概是这样的:

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

生成可执行文件

cd <DisplayImage_directory>
cmake .
make

结果

生成了一个DisplayImage文件,所以运行这个文件,将文件路径传进去:

./DisplayImage lena.jpg

你就能看到图片了

I. linux里opencv怎么交叉编译

一、交叉编译opencv 构造: 下载:各个库的下载可以直接搜名字到官网下载 几个关键解释: “--prefix=” 后边跟make install时的位置,本例中,libz在make install时将安装到/usr/arm-linux-gnueabihf中 “--host=” 后边跟arm-linux表明使用的是ARM环境 有configure的才能进行configure配置 4)所有的makefile修改类似 Libz的交叉编译 第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared 第二步:修改makefile,主要有下边几个,修改的时候通篇参照即可 CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar rc RANLIB=arm-linux-gnueabihf-ranlib STRIP = arm-linux-gnueabihf-strip 如果有ARCH的话,ARCH=ARM 第三步:#sudo make #sudo make install Libjpeg的交叉编译 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:参考1)中方法修改makefile 第三步:#sudo make #sudo make install Libpng的交叉编译 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:参考1)中方法修改makefile 第三步:#sudo make #sudo make install Yasm的交叉编译 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static 第二步:修改makefile 第三步:#sudo make #sudo make install Libx264的交叉编译 第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf 第二步:修改config.mak里的参数,因为makefile要调用config.mak,所以修改方法同makefile 第三步:#sudo make #sudo make install Libxvid的交叉编译 第一步:首先切换目录 #cd build/generic 第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly 第三步:#sudo make #sudo make install ffmpeg的交叉编译 第一步: ./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf 第二步:修改makefile文件 第三步:#sudo make #sudo make install 第四步:将ffmpeg加入pkg-config 执行#sudo gedit /etc/bash.bashrc,在末尾加入 export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/ 完毕后使用命令:#source /etc/bash.bashrc 或者单独使用三个export,不过寿命只在一个终端中,终端关闭时就失效。 几个关键解释:--extra-flags指向xvid的安装路径,--extra-ldflags指向x264的路径 安装cmake-gui 执行:#sudo apt-get install cmake-qt-gui Opencv的交叉编译 第一步:修改opencv/platflrms/linux/目录下的arm-gnueabi.toolchain.cmake,将其所有删掉,写入: set( CMAKE_SYSTEM_NAME Linux ) set( CMAKE_SYSTEM_PROCESSOR arm ) set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) 第二步:在opencv目录下新建build目录,进入build目录,执行命令: #cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../ 这时,要保证出现: 第三步:使用cmake-gui打开CMakeCache.txt,去掉所有的无关项,修改CMAKE_INSTALL_PREFIX,来确定make install的目录 第四步:#sudo make #sudo make install 可能出现的错误: opencv编译不通过,出现skip之类的,说明ffmpeg没编译好,或者其编译好了,但是pkg-config没有设置好,一定要设置好其环境 前边几步不通过的话,看看命令有没有少,或者有没有修改好makefile 在arm上使用时,一种方法时直接将编译好的opencv目录下的lib文件拷贝到开发板对应的/lib目录下,其他或者拷贝到自己指定的目录,并设置好环境变量即可使用

热点内容
广数g96编程实例 发布:2025-05-14 01:01:56 浏览:910
安卓手机如何做一个小程序 发布:2025-05-14 01:01:51 浏览:967
linux怎么访问外网 发布:2025-05-14 01:00:24 浏览:951
玩dnf什么配置不卡卡 发布:2025-05-14 00:57:02 浏览:806
android优秀项目源码 发布:2025-05-14 00:54:58 浏览:205
dell服务器怎么装系统 发布:2025-05-14 00:50:52 浏览:593
csgo怎么进日本服务器 发布:2025-05-14 00:39:18 浏览:747
ip查服务器商家 发布:2025-05-14 00:33:37 浏览:212
云服务器布 发布:2025-05-14 00:27:55 浏览:78
吃鸡最佳配置怎么看 发布:2025-05-14 00:25:32 浏览:226