极智开发 | ubuntu源码编译opencv

极智开发 | ubuntu源码编译opencv本教程详细记录了在ubuntu1804中源码编译opencv的方法。

大家好,又见面了,我是你们的朋友全栈君。

  本教程详细记录了在ubuntu1804中源码编译opencv的方法。

1、安装cmake及依赖库

sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
errorE: unable to locate libjasper-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

2、下载源码包

  opencv 官网下载链接:https://opencv.org/releases/

  下载指定版本的源码包 source 即可。

  这里以opencv3.4.0为例。

3、开始编译

cd opencv-3.4.0
mkdir build
cd build
sudo cmake -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D CMAKE_INSTALL_PREFIX=/path/to/opencv ..
sudo make -j8
sudo make install -j8

  – 若cmake要指定python3,确定/usr/bin/python指向你的python3,则:

cmake -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python -D CMAKE_INSTALL_PREFIX=/path/to/opencv ..

4、配置opencv环境变量

vim ~/.bashrc

  加入:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/path/to/opencv/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/opencv/lib

  使环境生效:

source ~/.bashrc
sudo ldconfig

5、查看是否安装成功

# 输出opencv版本
pkg-config opencv --modversion
# 输出opencv库,通过pkgconfig配置
pkg-config opencv --libs

​  如果疑问或其他报错请联系我,写这篇主要为下一篇交叉编译opencv做个铺垫哈哈。

扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多实践项目资源和读书分享,让我们用极致+极客的心态来迎接AI !
极智开发 | ubuntu源码编译opencv

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162101.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RabbitMQ流控-FLow Control

    RabbitMQ流控-FLow Control当Connection发布消息的速度太快,队列无法跟上(消费速度低于生产速度),RabbitMQ会降低Connection的速度,无需配置。流控的Connection可以在rabbitmqctl、管理UI和HTTPAPI响应中显示flow状态。这意味着连接每秒要经历多次阻塞和解除阻塞,以便将消息传入的速度保持在服务器其他部分(例如,将这些消息路由到的队列)能够处理的速度。一般来说,处于流…

    2022年5月27日
    89
  • HTML实体对照表

    HTML实体对照表

    2021年10月20日
    40
  • Tensor和NumPy相互转换「建议收藏」

    Tensor和NumPy相互转换我们很容易用numpy()和from_numpy()将Tensor和NumPy中的数组相互转换。但是需要注意的一点是:这两个函数所产生的Tensor和NumPy中的数组共享相同的内存(所以他们之间的转换很快),改变其中一个时另一个也会改变!1.Tensor转NumPya=torch.ones(6)b=a.numpy()print(a,b)a+=1print(a,b)b+=1print(a,b)tensor([1.,1.

    2022年4月5日
    371
  • ssh 命令连接

    ssh 命令连接Linuxssh命令详解SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成:openssh(提供ssh服务)openssl(提供加密的程序)ssh的客户端可以用XSHELL,Securecrt,Moba…

    2022年6月24日
    30
  • 优秀的程序员真的不写注释吗?

    优秀的程序员真的不写注释吗?我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。”这个观点非常巧妙,它让我想起了孟子的一句话,“杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。”动不动就骂别人是“禽兽”,我总觉得有点不妥,这很不符合孟子的浩然之气啊。有些大牛也有孟子这样的觉悟,如果有人要他给自己的代码加上注释,就好像是对他的一种侮辱:“我的代码写得这么优雅,你难道看不懂吗?注释是多余的!”我必须得承认,每个程序员都应该有一颗追求“优雅”的心,力争自己的代码更易阅读和理解——不只是针对机器,还有我

    2022年5月30日
    36
  • go语言IP转换uint32,uint32转换IP「建议收藏」

    go语言IP转换uint32,uint32转换IP「建议收藏」uint32类型转换为IPfuncUInt32ToIP(intIPuint32)net.IP{   varbytes[4]byte   bytes[0]=byte(intIP&0xFF)   bytes[1]=byte((intIP>>8)&0xFF)   bytes[2]=byte((intIP>&gt…

    2025年9月28日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号