-----2015-12-25 补充--------
在按照下面的安装以后,导致系统重启的时候,无法正常显示登录窗口,看问题是/usr/lib64/中的一些so被替换了!
具体哪一个引起的,现在还不是很确定,重装系统后,按照最下的方式来进行:
1、首先只保证gcc,cmake,python,这些应该不会有问题
python是自带的2.7.5
2、这时候编译安装opencv3.0.0,运行那个DisplayImage,会提示要gtk2.0-dev或其他
下载地址:
https://github.com/Itseez/opencv/archive/3.0.0.zip
3、安装gtk2-devel.x86_64
yum install gtk2-devel.x86_64
4、再次编译安装opencv3.0.0
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=../build/ ..
5、运行DisplayImage,可以正常显示窗口
重启没有问题。
先到这里吧。
-----------------------------------------------------------
参考:
http://blog.csdn.net/design321/article/details/47811099
参考上面的文章:
因为我的gcc和cmake、python都满足要求,不需要再装。
文中提到的装numpy我也没有执行。
直接到这里:
yum install -y gcc gcc-c++ gtk+-devel libjpeg-devel libtiff-devel jasper-devel libpng-devel zlib-devel cmake
yum install git gtk2-devel pkgconfig numpy python python-pip python-devel gstreamer-plugins-base-devel libv4l ffmpeg-devel
yum install mplayer mencoder flvtool2
yum install libdc1394
yum install gtk*
最后一步有些依赖包没有,就加了一个绕过去的选项。这个gtk的安装比较久。
二、下载和安装opencv-3.0.0
http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-unix/3.0.0/opencv-3.0.0.zip
参考官网的:
http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
进行安装。
cmake的时候会下载一个ippicv_windows_20141027.zip压缩包。
cmake检测到缺少了libgphoto2,我直接装了:
yum install libgphoto2-devel
(因为libgphoto2已经有了,应该是少了devel包)
make的时候需要10来分钟。
顺便写了个测试程序:
DisplayImage.cpp :
<pre name="code" class="cpp">#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
<span style="font-family: Arial, Helvetica, sans-serif;">int main(int argc, char** argv )</span>
{
//if ( argc != 2 )
// {
// printf("usage: DisplayImage.out <Image_Path>\n");
// return -1;
// }
Mat image;
image = imread("time_1970_186.jpg", 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
CMakeLists.txt内容为:
</pre><pre name="code" class="cpp">cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
[zzz@localhost testopencv]$ cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zzz/test/testopencv
[zzz@localhost testopencv]$ make
[100%] Built target DisplayImage
[zzz@localhost testopencv]$
一开始的时候,找了个破的jpg(测试代码产生的),老是显示不出来!也没有去确认这个问题,搜索imread为何不能正常读取数据,浪费了不少时间!!