ubuntu20.04安装opencv4库

这篇具有很好参考价值的文章主要介绍了ubuntu20.04安装opencv4库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、安装步骤

1.下载源码并解压

opencv官方网站:https://opencv.org/releases/

2.进入刚刚下载回来的源码包

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENERATE_PKGCONFIG=YES ..
make -j4
sudo make install

3.配置环境变量

终端输入:

sudo gedit ~/.bashrc

在最下面添加:

export CPLUS_INCLUDE_PATH="/usr/include/opencv4:$CPLUS_INCLUDE_PATH"
export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH"

若显示如下,则成功安装。
ubuntu2004安装opencv,ubuntu,opencv

4.验证

上述步骤运行无误后,基本完成了opencv 4的安装,接下来使用以下命令验证:

pkg-config --modversion opencv4

二、编译中出现的错误

(1)AssertionError: Apache Ant报错

问题解析: 未安装apache ant
解决步骤:

安装Java

首先,安装Java JDK,在终端中输入以下命令:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

下载安装Apache Ant

1.访问Apache Ant官网下载页面https://ant.apache.org/bindownload.cgi
2.移动解压后的文件到/usr/local目录下:
bash
cd ~
tar -zxvf apache-ant-1.9.16-bin.tar.gz
sudo mv apache-ant-1.9.16 /usr/local/
3.配置环境变量:
sudo gedit ~/.bashrc

在bashrc文件里写入:

export ANT_HOME=/usr/local/apache-ant-1.9.16
export PATH=${PATH}:${ANT_HOME}/bin
4.验证安装:
bash
ant -version

如果出现以下类似信息,即表明安装成功:

Apache Ant(TM) version 1.9.16 compiled on July 10 2021

(2)python文件的AssertionError

[ 6%] Generate files for Java bindings
Traceback (most recent call last):
  File "/home/gu/文档/opencv-4.5.0/modules/java/generator/../generator/gen_java.py", line 1093, in <module>
    copy_java_files(java_files_dir, target_path)
  File "/home/gu/文档/opencv-4.5.0/modules/java/generator/../generator/gen_java.py", line 1032, in copy_java_files
    src = checkFileRemap(java_file)
  File "/home/gu/文档/opencv-4.5.0/modules/java/generator/../generator/gen_java.py", line 31, in checkFileRemap
    assert path[-3:] != '.in', path
AssertionError: /home/darkchii/下载/opencv-3.4.1/modules/java/generator/src/java/org/opencv/osgi/OpenCVNativeLoader.java.in
make[2]: *** [CMakeFiles/dephelper/gen_opencv_java_source] 错误 1
make[1]: *** [modules/java_bindings_generator/CMakeFiles/gen_opencv_java_source.dir/all] 错误 2
make: *** [all] 错误 2

查看错误信息,发现错误出现在gen_java.py文件处,解决办法:
将gen_java.py源文件中的31行:

assert path[-3:] != '.in', path

修改为:

assert path[-4:] != '.in', path

即可,然后重新make,在同样文件里出现了编码错误:

[ 7%] Generate files for Java bindings
JAVA: Processing OpenCV modules: 12
duplicated: CLASS cv::.Algorithm : 
SKIP:void read(FileNode fn)	 due to ARG typeFileNode/I
SKIP:void write(Ptr_FileStorage fs, String name = String())	 due to ARG typePtr_FileStorage/I
Traceback (most recent call last):
  File "/home/gu/文档/opencv-4.5.0/modules/java/generator/../generator/gen_java.py", line 1164, in <module>
    generator.gen(srcfiles, module, dstdir, jni_path, java_path, common_headers)
  File "/home/gu/文档/opencv-4.5.0/modules/java/generator/../generator/gen_java.py", line 492, in gen
    self.save(cpp_file, T_CPP_MODULE.substitute(m = module, M = module.upper(), code = moduleCppCode.getvalue(), includes = "
".join(includes)))
  File "/home/gu/文档/opencv-4.5.0/modules/java/generator/../generator/gen_java.py", line 514, in save
    f.write(buf)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 215-216: ordinal not in range(128)
make[2]: *** [CMakeFiles/dephelper/gen_opencv_java_source] 错误 1
make[1]: *** [modules/java_bindings_generator/CMakeFiles/gen_opencv_java_source.dir/all] 错误 2
make: *** [all] 错误 2

1.修改源文件:

将gen_java.py文件的514行

f.write(buf)

修改为:

f.write(buf.encode("utf-8").decode('utf-8'))

2.检查python版本:

确保正在使用Python3运行该脚本,可以在终端下运行以下命令:

python --version
python3 --version

如果有Python 2 和Python 3,确保使用python 3运行脚本。

非必要)若存在Python 2.7,需要进行卸载
1.检查系统中的Python版本

首先,检查是否已安装Python 2.7,并检查版本号。

python --version
2.卸载Python 2.7
sudo apt-get remove python2.7
sudo apt-get autoremove
3.验证Python已成功卸载

为了确认Python 2.7已被成功卸载,我们需要再次运行Python版本的命令。

python --version
4.卸载Python 2.7的备份文件

在卸载过程中,有些Python 2.7的备份文件可能还残留在系统中。为了彻底卸载Python 2.7,我们需要在文件系统中搜索并删除它们。

sudo find / -name python2.7

这条命令将会搜索系统中所有以 python2.7 命名的文件。一旦找到了它,可以使用以下命令删除它:

sudo rm -rf /path/to/file_or_directory

请将/path/to/file_or_directory替换为上述find命令找到的文件路径。

清理残余文件和目录

现在,我们已经从系统中成功地卸载了Python 2.7。但还剩下一些残留文件和目录需要清理。以下命令可以帮助您完成此项任务:

sudo updatedb
sudo locate -b '\.pyc' | xargs sudo rm
sudo rm -rf /usr/lib/python2.7/
sudo rm -rf /usr/include/python2.7/
sudo rm -rf /usr/share/python-wheels/
sudo rm -rf /usr/local/lib/python2.7/
sudo rm -rf /usr/local/include/python2.7/
sudo rm -rf /usr/local/bin/easy_install*
sudo rm -rf /usr/local/bin/pip*
sudo rm -rf /usr/local/bin/pydoc*
sudo rm -rf /usr/local/bin/python*
sudo rm -rf /usr/local/share/python/
sudo rm -rf /usr/bin/python2.7*

这样,我们就成功卸载了Python 2.7。但是,又出现了新的问题,因为在编译opencv 4的时候,显示:

/bin/sh: python: not found
原因

python原本映射的是python 2.7,但是刚刚已经被我们卸载了,所以导致映射不到。
解决办法:

解决办法

命令行执行:

ls -l /usr/bin/python*

然后会出现:

lrwxrwxrwx 1 root root       9 1227 19:10 /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 root root 5465880 1122 18:22 /usr/bin/python3.8
lrwxrwxrwx 1 root root      33 1122 18:22 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
lrwxrwxrwx 1 root root      16 313  2020 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 root root     384 125  2023 /usr/bin/python3-futurize
-rwxr-xr-x 1 root root     388 125  2023 /usr/bin/python3-pasteurize

我们发现确实没有 /usr/bin/python 映射,这里选择重建映射,我们将 /usr/bin/python 映射到 /usr/bin/python3 上去,这样间接就相当于搭建了一座桥梁到 python3.8 上,就不会发生找不到命令的问题了。

我们执行:

sudo ln -s /usr/bin/python3 /usr/bin/python

然后使用 ls -l /usr/bin/python* 再验证发现:

lrwxrwxrwx 1 root root      16 1228 22:02 /usr/bin/python -> /usr/bin/python3
lrwxrwxrwx 1 root root       9 1227 19:10 /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 root root 5465880 1122 18:22 /usr/bin/python3.8
lrwxrwxrwx 1 root root      33 1122 18:22 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
lrwxrwxrwx 1 root root      16 313  2020 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 root root     384 125  2023 /usr/bin/python3-futurize
-rwxr-xr-x 1 root root     388 125  2023 /usr/bin/python3-pasteurize

回到opencv 4再次cmake,就能编译成功了。但是会在终端source显示:

/usr/local/bin/python3:解释器错误: 没有那个文件或目录

因此再重新链接python 3:

sudo ln -sf /usr/bin/python3 /usr/local/bin/python3

问题解决。

三、参考链接

https://blog.csdn.net/m0_58235748/article/details/132165883
https://pythonjishu.com/zbriglwwgmeiiim/
https://tool.4xseo.com/a/15653.html
https://www.python100.com/html/72G0U877HGYA.html
https://blog.51cto.com/u_14558366/5178939文章来源地址https://www.toymoban.com/news/detail-831538.html

到了这里,关于ubuntu20.04安装opencv4库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 在 Ubuntu 20.04 上安装 OpenCV

    在 Ubuntu 20.04 上安装 OpenCV

    OpenCV 在 Ubuntu 20.04 软件源中可用。想要安装它,运行: 上面的命令将会安装所有必要的软件包,来运行 OpenCV: 通过导入 cv2 模块,并且打印 OpenCV 版本来验证安装结果: 输出: 1.安装构建工具和所有的依赖软件包: 2.克隆所有的OpenCV 和 OpenCV contrib 源 3.下载完成,创建一个临

    2024年01月23日
    浏览(8)
  • Ubuntu20.04安装c++版本的OpenCV

    Ubuntu20.04安装c++版本的OpenCV

    https://www.jianshu.com/p/3c2fc0da7398 https://docs.opencv.org/4.5.3/d7/d9f/tutorial_linux_install.html https://www.jianshu.com/p/3c2fc0da7398 https://www.cnblogs.com/yongy1030/p/10293178.html 其实官网步骤已经非常清楚了,只不过是英文的,可能有小伙伴看不下去,所以不妨看看这篇博客。 进入官网,选择你要下载的

    2024年02月12日
    浏览(13)
  • Ubuntu 20.04源码编译安装OpenCV 4.7.0

    Ubuntu 20.04源码编译安装OpenCV 4.7.0

    目录 前言 1--下载OpenCV 4.7.0 2--编译安装OpenCV 4.7.0 3--测试 3-1--查看安装的版本 3-2--基于VSCode和CMake测试项目 4--报错解决(重点!) 4-1--OpenCV与FFmpeg不兼容 4-2--LIBTIFF报错 4-3--系统与Anaconda的库lib冲突 4-4--测试时CMake的find_package报错         建议先看第4节相关报错及解决方法,再

    2024年01月16日
    浏览(18)
  • Ubuntu 20.04 安装opencv 和 +opencv_contrib教程

    Ubuntu 20.04 安装opencv 和 +opencv_contrib教程

    首先opencv和opencv_contrib下载版本要一致!!!! 我是以opencv3.4.5为例 opencv下载官网:Releases - OpenCV opencv_contirb网址:GitHub - opencv/opencv_contrib: Repository for OpenCV\\\'s extra modules 源地址:GitHub - opencv/opencv_contrib: Repository for OpenCV\\\'s extra modules 以上即是在Ubuntu上下载好opencv和opencv_contrib

    2024年02月11日
    浏览(8)
  • ROS Neotic(Ubuntu 20.04)如何正确安装OpenCV

    ROS Neotic(Ubuntu 20.04)如何正确安装OpenCV

    鱼香ROS提供了一个全面且方便的脚本,可以直接运行来安装系统对应版本的ROS,同时也可以使用该命令来安装许多有趣的东西 本文安装的为无contrib版本的OpenCV GitHub OpenCV 项目地址 在源代码的目录下依次执行上方的命令,第四步cmake的过程中可以增加相关的参数来自定义Open

    2024年02月05日
    浏览(11)
  • Ubuntu20.04 OpenCV详细安装教程(附多版本切换共存教程)

    Ubuntu20.04 OpenCV详细安装教程(附多版本切换共存教程)

    opencv安装有两种方式: 1.使用包管理器安装预编译版本(安装十分简单,但是 版本只有4.2.0 ,且没有扩展模块且不支持Qt窗口) 2.从源码安装(比较复杂,但是推荐) 这样就安装完成了 这种安装方法,默认把opencv相关文件放置在系统目录 官网下载地址 https://opencv.org/release

    2024年03月13日
    浏览(13)
  • ubuntu20.04操作系统下安装vitis hls和opencv

    ubuntu20.04操作系统下安装vitis hls和opencv

    0 绪言 参考大神教程《ubuntu20.04安装VITIS_HLS2021.2配置OPENCV4.4和VITIS_LIBRARIES(详细版)》在ubuntu20.04操作系统下安装vitis hls和opencv,还是遇到一些问题,不过稍微百度下就解决来,这里重新整理下安装过程。 1 opencv安装介绍 为了在HLS中使用opencv视频库函数,安装完vitis HLS软件后,还

    2023年04月23日
    浏览(10)
  • ubuntu20.04下安装,运行关于opencv的Python程序相关库

    ubuntu20.04下安装,运行关于opencv的Python程序相关库

    最初对ubuntu20.04以及opencv和python运行环境一窍不通,折磨了好几天,虚拟机重建了好几次,各个帖子的方法都跑遍了。最后终于装上,记录一下,免得搞忘。 先总结下之前的问题:推测之前的问题都在于我先入为主安装了vscode上的Python,但其实ubuntu20.04他是自带了Python3.8.10的

    2024年02月13日
    浏览(11)
  • Ubuntu20.04安装配置OpenCV-Python库并首次执行读图

    Ubuntu20.04安装配置OpenCV-Python库并首次执行读图

    一、选择三方提供的预编译包安装: 可以从官网下载 OpenCV 的安装包,编译后使用;也可以直接使用第三方提供的预编译包 安装。显然后者不需要执行编译步骤,更便捷。选择由 PyPI 提供的 OpenCV 安装包,可以在 https://pypi.org/project/opencv-python/上面下载最新的基于 Python 的 Op

    2024年01月15日
    浏览(15)
  • 【Ubuntu-20.04】OpenCV-3.4.16的安装并对图片与视频处理

    【Ubuntu-20.04】OpenCV-3.4.16的安装并对图片与视频处理

    1.下载OpenCV-3.4.16安装包 官网下载地址:https://github.com/opencv/opencv/releases 2.将安装包放到/home,并解压 3.使用 cmake 安装 opencv (1)进入解压后的文件夹:opencv-3.4.11 (2)进入 root 用户,并更新一下 (3)接着执行这条命令安装 cmake (4)安装依赖库 (5)创建并进入 build 文件夹

    2024年04月25日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包