我想知道我的计算机上安装了什么版本的OpenCV(我运行的是Ubuntu 10.04).是否有一种简单的方法来检查它?如果没有,那么我可以找到安装文件(样本等)的目录吗?
我试图运行一些代码,我已经在安装了OpenCV 2.3的另一台计算机上测试过,我得到了很多错误.
nea*_*mcb 139
这里的其他方法对我来说不起作用,所以这就是Ubuntu 12.04中"精确"的工作方式.
在Ubuntu和其他Debian派生的平台上,dpkg是获取软件包版本的典型方法.对于比@Tio引用的版本更新的版本,请使用
dpkg -l | grep libopencv
Run Code Online (Sandbox Code Playgroud)
如果您安装了开发包libopencv-core-dev,那么您可能会有.pc文件并且可以使用pkg-config:
pkg-config --modversion opencv
Run Code Online (Sandbox Code Playgroud)
cre*_*ate 57
您可以查看已安装的标头或库.pkg-config可以告诉你它们在哪里:
pkg-config --cflags opencv
pkg-config --libs opencv
Run Code Online (Sandbox Code Playgroud)
或者,您可以编写一个简单的程序并打印以下defs:
CV_MAJOR_VERSION
CV_MINOR_VERSION
Run Code Online (Sandbox Code Playgroud)
pet*_*sev 15
1)直接答案:试试这个:
sudo updatedb
locate OpenCVConfig.cmake
Run Code Online (Sandbox Code Playgroud)
对我来说,我得到:
/home/pkarasev3/source/opencv/build/OpenCVConfig.cmake
Run Code Online (Sandbox Code Playgroud)
要查看版本,您可以尝试:
cat /home/pkarasev3/source/opencv/build/OpenCVConfig.cmake
Run Code Online (Sandbox Code Playgroud)
给
....
SET(OpenCV_VERSION 2.3.1)
....
Run Code Online (Sandbox Code Playgroud)
2)更好的答案:
"sudo make install"是你的敌人,当你需要经常编译/更新库并且可能通过它的内部函数调试步骤时,不要这样做.请注意我的配置文件是如何在本地构建目录中,而不是在/ usr/something中.您将来会避免这种混淆,甚至可以维护几个不同的版本(例如,调试和发布).
编辑:这个问题似乎经常出现在OpenCV而不是其他库的原因是它在版本之间变化相当显着和快速,并且许多操作没有那么明确/受到良好约束所以你不能仅仅依赖在它上面就像你为libpng或libjpeg这样的黑盒子.因此,最好不要安装它,但只需编译并链接到build文件夹.