ubuntu22.04安装 opencv4.5(C++调用) 和opencv2.4.13.7(C语言调用)两个版本

想要使用C语言去调用opencv 做一些简单的处理,比如打开摄像头,提取帧,播放,opencv3之后的版本就没有C接口了,但是我不想学C++,只做简单的处理,2版本的就行了。

安装包在GitHub上找以前的版本,服务器安装opencv老版本的时候,一直构建不成功,把CUDA关了之后才行,不过想要使用GPU,还是先安装好GPU驱动和CUDA之后再安装opencv.

同时只能有一个版本工作,使用另一个版本工作时,需要切换版本

4.5的版本使用opencv4而不是opencv,opencv2.4.13.7使用opencv

g++ tpsy.cpp -o display_image `pkg-config --cflags --libs opencv4`

安装OPENCV 

ubuntu22.04安装opencv4和opencv_contrib-CSDN博客

然后配置环境

使用下面的配置OPENCV

感觉是下面这个

Ubuntu22.04安装OpenCV4.5.1_ubuntu安装opencv4.5-CSDN博客

直接复现安装,上面的有的包下不下来(感觉可以不用下)

如果执行程序时查不到安装,就是不能使用这个库

首先,我们需要确认OpenCV是否已经被正确安装。你可以通过运行以下命令来检查:

ls /usr/local/lib | grep opencv

这个命令会列出/usr/local/lib目录下所有包含"opencv"的文件。如果OpenCV已经被正确安装,你应该能够在输出中看到一些包含"opencv"的文件。

然后执行

第一种方法:

如果OpenCV已经被正确安装,那么问题可能出在PKG_CONFIG_PATH环境变量上。你需要将OpenCV的pkg-config文件的路径添加到PKG_CONFIG_PATH环境变量中。你可以通过运行以下命令来查找OpenCV的pkg-config文件:

sudo find / -name "opencv4.pc"

然后,你需要将找到的路径添加到你的PKG_CONFIG_PATH环境变量中。你可以通过在你的~/.bashrc文件中添加以下行来实现这一点

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/path/to/opencv4.pc

请将/path/to/opencv4.pc替换为你在上一步中找到的opencv4.pc文件的路径。然后,你需要运行以下命令来使改动生效:

source ~/.bashrc

第二种方法:

手动创建opencv4.pc文件:如果重新安装OpenCV后问题仍然存在,你可以尝试手动创建一个opencv4.pc文件。首先,你需要创建一个新的文件,你可以通过运行以下命令来创建这个文件

创建pkgconfig目录:你可以通过运行以下命令来创建pkgconfig目录:

sudo mkdir -p /usr/local/lib/pkgconfig

sudo nano /usr/local/lib/pkgconfig/opencv4.pc

版本号就是你安装的版本

prefix=/usr/local

exec_prefix=${prefix}

includedir=${prefix}/include/opencv4

libdir=${exec_prefix}/lib

Name: OpenCV

Description: Open Source Computer Vision Library

Version: 4.5.0

Libs: -L${libdir} -lopencv_calib3d -lopencv_core -lopencv_dnn -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_videoio -lopencv_video

Cflags: -I${includedir}

(更新PKG_CONFIG_PATH环境变量:最后,你需要将新创建的opencv4.pc文件的路径添加到你的PKG_CONFIG_PATH环境变量中。你可以通过在你的~/.bashrc文件中添加以下行来实现这一点:)

直接执行:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

然后,你需要运行以下命令来使改动生效:

source ~/.bashrc

//在使用nano编辑器时,你可以按Ctrl+O来保存你的更改,然后按Enter确认文件名。最后,你可以按Ctrl+X来退出编辑器。

复现  安装

只安装了opencv,没有扩展

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev

sudo apt-get install libtiff-dev

sudo apt-get install g++

sudo apt-get install libgtk2.0-dev

sudo apt-get install cmake

sudo apt-get install pkg-config

sudo apt-get install unzip

解压unzip

添加头文件(有的版本不需要,看情况)

vim ./opencv-4.5.0/modules/gapi/test/gapi_async_test.cpp

#include <thread>

cd opencv-4.5.0

mkdir build

cd build

cmake -DWITH_LAPACK=OFF ..

nproc  查一下自己电脑最多支持多少线程

sudo make -j2  (中间可能会卡住,关机回到原目录,执行相同的命令)(我换成4G,8线程快的很,但是最后到达100%的时候,CPU达到91度,感觉CPU要烧掉,直接关机了,换成4G,4线程)

sudo make install

执行程序时常见报错

1Failed to load module canberra-gtk-module错误

sudo apt-get install libcanberra-gtk-module

环境配置 (如果不行,就像上面的自己创一个配置文件)

sudo vim /etc/ld.so.conf.d/opencv.conf

然后在打开的文件中添加如下内容:

/usr/local/lib

使其保存并生效

sudo ldconfig

sudo vim /etc/bash.bashrc

在文件末尾输入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

退出保存

source /etc/bash.bashrc

测试

pkg-config opencv –modversion

opencv_version

进入opencv/samples/cpp/example_cmake目录下,终端打开,依次输入:

cmake .

make

./opencv_example

低版本opencv安装

因为现在的opencv版本不支持C接口,所以我在同一电脑上面同时安装了opencv2.4.13.7 ,安装过程一样。但是构建命令 使用下面的这个

##################################################################

当想要安装低版本的opencv时,你遇到的问题是由于C++17不再支持动态异常规范。在你的错误信息中,throw (Iex::MathExc)就是一个动态异常规范,它在C++17中被移除了。

你遇到的错误HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP可能是由于你的OpenCV库在编译时没有包含V4L(Video for Linux)。V4L是Linux系统中用于处理视频设备的一套API

-DCMAKE_INSTALL_PREFIX=/usr/local/opencv24 这个是库的安装路径,要和第一次安装的路径不同,

-DCMAKE_CXX_STANDARD=98 (编译C)

##################################################################

sudo apt-get install libv4l-dev   (低版本加库)

我们使用这个命令来构建(下面两个是我安装多版本时使用的)

sudo cmake ../ -DCMAKE_CXX_STANDARD=98 \

               -DCMAKE_CXX_STANDARD_REQUIRED=ON \

               -DCMAKE_CXX_EXTENSION=OFF \

               -DWITH_V4L=ON\

-DCMAKE_BUILD_TYPE=Release\

 -DCMAKE_INSTALL_PREFIX=/usr/local/opencv24

环境配置:(老版本做完环境配置之后就应该可以使用了)

添加路径 sudo vim /etc/ld.so.conf.d/opencv24.conf

然后在打开的文件中添加如下内容:

/usr/local/opencv24/lib

保存退出,之后再终端输入:sudo ldconfig

sudo vim /etc/bash.bashrc

打开文件后在末尾输入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv24/lib/pkgconfig

export PKG_CONFIG_PATH

保存退出,终端输入:

source /etc/bash.bashrc

如果想要切换版本,去掉opencv24(就是上一个opencv的安装路径)

sudo vim /etc/bash.bashrc

打开文件后在末尾输入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv24/lib/pkgconfig

export PKG_CONFIG_PATH

保存退出,终端输入:

source /etc/bash.bashrc

服务器安装 opencv 2.4.13.7

#############################################################################

#######################################################

-DWITH_CUDA=OFF \  服务器不使用CUDA就必须按上,要不然不成功

安装失败之后

删除之前生成的build目录,然后重新运行CMakesudo rm -rf build

在服务器上安装2.4版本出现错误

sudo cmake .. -DCMAKE_CXX_STANDARD=98 \

              -DCMAKE_CXX_STANDARD_REQUIRED=ON \

              -DCMAKE_CXX_EXTENSION=OFF \

              -DWITH_V4L=ON \

              -DCMAKE_BUILD_TYPE=Release \

              -DWITH_CUDA=OFF \

              -DCPACK_PACKAGE_VERSION=2.4.13.7 \

              -DCMAKE_INSTALL_PREFIX=/usr/local/opencv24

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值