boss叫弄一个判断测试结果的图像匹配算法,于是就得重拾起opencv了.....
在linux下安装opencv,下面是官方的一个指导网站,
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
首先需要安装这几个东西:- CMake 2.6 or higher;
- GTK+2.x or higher, including headers (libgtk2.0-dev);
-
pkgconfig;
Cmake 和 pkgconfig可以直接yum install 就行了。安装GTk的过程麻烦一点,官方网址为http://www.gtk.org/download/linux.php,安装方法参见上一篇日志,
先安装glib-2.36.3,再装atk-2.8.0, gdk-pixbuf-2.28.2, pango1.34,最后安装gtk.
在configure中可能会提示你丢失的包,只要对照着装上就行。
比如在gdk-pixbuf的configure过程中,出现如下错误:
Checks for TIFF loader failed.
Checks for JPEG loader failed
只要yum install libtiff-devel, yum install libjpeg-devel即可。
最后就是对gtk执行make&&make install,这一步就慢慢等吧,长的一比那啥...
相关工具安装好后:
cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local ..
make&&make install.
这里在cmake之后,可能还是会提示: GTK+ 2.x: NO,
似乎没有找到gtk,这个问题暂时没解决,只能重新yum install gtk2-devel.x86.64装上,这样可以被识别出来了。
make过程中的错误:
/lib64/libgbm.so.1: undefined reference to `wayland_buffer_is_drm'
解决办法:升级相应的包, yum install libgbm
到此opencv就安装完成了,
可以参照官方的实例写个图像显示的程序,编译时记得把opencv安装目录下的opencv.pc文件cp到pkg-config的搜索目录/usr/lib/pkgconfig下去,不然会pkg-confg提示无法找到opencv包。
运行时错误:
error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory
这是由于系统没有正确找到动态链接库,解决办法:
sudo vi /etc/ld.so.conf, 添加库目录,比如我的: /usr/local/lib
然后ldconfig -
再重新make
-
最终效果