这样安装的话是不能显示图片的,具体见http://blog.csdn.net/xzyiverson/article/details/12786217
之前在Opencv的移植(十)完成了Opencv移植到zedboard,现在要安装到PC机上,这个就简单很多了,具体步骤如下:
1 下载源代码,在之前已经下载了。
2 cmake工具也在之前安装好了,现在解压就行,注意要重新解压一个,不要直接在原来解压后的东西里面cmake来产生Makefile.。
tar -xvjf Opencv-2.3.1a.tar.bz2 -C /usr/ 这样就解压到了/usr目录下,进入该解压后的目录,mkdir build,进入build目录,和之前是一样的。
3 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ../ 注意../一定不要丢了,因为他需要CMakeList.txt文件,在上一层目录
/usr/local是安装目录。
4 ls一下,可以看到build文件夹多了一些文件,执行ccmake ./ 注意要把一些需要第三方支持的库设置位OFF,这些库见书本上。然后完成后,按下c键进行配置,在
按下G来产生Makefile
5 make
6 make install,安装完成后,可以在/usr/local/lib 目录下看看这些链接库,用file libopencv_calib3d.so.2.3.1 查看信息,得到如下信息:
file libopencv_calib3d.so.2.3.1
libopencv_calib3d.so.2.3.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xb0d34a38b76b0bbe88511635df3bde46c281bb56, not stripped
另外这里记下自己交叉编译的Opencv的路径:arm-xilinx-linux-gnueabi-g++ -I /home/xzy/OpenCV-2.3.1/install/include -I/home/xzy/OpenCV-2.3.1/install/include/opencv -L /home/xzy/OpenCV-2.3.1/install/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann ./edge_detection.cpp -o ./edge_detection.o
7配置与 测试
在pc机上运行opencv的话必须要配置,具体步骤如下:
vim /etc/ld.so.conf.d/opencv.conf
添加/usr/
local
/lib
,退出保存
ldconfig(必须在root权限下)
vim /etc/
bash
.bashrc
,在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/
local
/lib/pkgconfig
export
PKG_CONFIG_PATH
保存,重启电脑
测试
g++ `pkg-config --cflags opencv` -o hello hello.cpp `pkg-config --libs opencv`(注意libs要放在后面啊。。不然会出错滴,这个我验证了,确实如此,按照这个作就行了)
找到陆佳华的书上的例子edge_detection.cpp,来作测试。
g++ `pkg-config --cflags opencv` -o edge_detection.o edge_detection.cpp `pkg-config --libs opencv`
运行 ./edge_detection.o(你还可以file edge_detection.o来看下信息 )
看原图片和生成的图片
这样安装的话是不能显示图片的,具体见http://blog.csdn.net/xzyiverson/article/details/12786217