查找在Ubuntu上安装的OpenCV版本

Saa*_*aad 53 c++ opencv

我想知道我的计算机上安装了什么版本的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)

  • "pkg-config --modversion opencv"有效 (16认同)
  • 这对我有用.谢谢. (4认同)
  • 对于 opencv4 执行此操作“pkg-config --modversion opencv4” (2认同)

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)

这里也提出类似的问题:

  • 您发布的链接现在有一个更好的答案:"pkg-config --modversion opencv".感谢您发布 (7认同)
  • 如果您没有安装开发包,则不会有`.pc`文件,并且会出现错误,例如'在pkg-config搜索路径中找不到包opencv`,默认为`/ usr/lib/pkgconfig /``--modversion`参数对这个特定问题也更有帮助,我在下面说明. (5认同)

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文件夹.


Kev*_*vin 6

还有一个标志CV_VERSION,它将打印出opencv的完整版本