㈠ linux下对caffe和opencv这些库的调用怎么编译
linux下怎么把python怎么引进caffe首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数
㈡ linux下opencv-2.4.13要用哪个版本的cmake来进行编译
1.下载然后解压安装压缩包
unzip opencv-2.4.13.zip
2. 进入刚解压的文件夹,建立release文件夹
cd opencv-2.4.13mkdir release
3. 安装一下必须的依赖库
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
4. 进入release文件夹,用cmake编译OpenCV的源码,把lib安装到/usr/local目录下
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
5. 安装
sudo make install
㈢ 如何在Linux下编译安装OpenCV
下载opencv的linux安装版,使用cmake工具编译安装,按照opencv的安装文档,一般是先执行cmake config,然后执行cmake install。
㈣ 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
㈤ 如何早linux 下编译运行opencv测试程序
首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数。
㈥ 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目录下,其他或者拷贝到自己指定的目录,并设置好环境变量即可使用
㈦ linux怎么直接用gcc编译含有opencv的
首先,先要再linux上安装opencv的库,在线安装的话,很容易
然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数
㈧ linux下cmake编译opencv 为什么这么慢
是你的编译器版本不对,
You
probably
need
to
select
a
different
build
tool.
在点击configure时,会出来一个选择编译器的框,你选一个你机器里有的编译器就可以了。
㈨ linux opencv 怎么重新编译单个源码
首先,先要再linux上安装opencv的库,在线安装的话,很容易 然后,编译的时候需要加上 `pkg-config opencv --libs --cflags opencv` 参数
㈩ 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
你就能看到图片了