CV预备(三): Ubuntu18.04和macOS10.14.6下OpenCV3.X环境搭建
CV预备(一): conv2, filter2, imfilter的差别
CV预备(二): im2col与col2im
目录
- 前言
- 安装
- 测试
- macOS安装OpenCV3.X
- 最后
前言
为什么在OpenCV4.X出了n多个版本的时候, 我要来搭建3.X, 无他, 就是我目前的一些工程要调用的库需要3.X. 顺带, 在mac上也安装一下.
安装
首先如果是我, 会用ssh访问Ubuntu, 所以要先安装下ssh.
sudo apt install net-tools sudo apt-get install openssh-server
然后补一些必要的库:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
用wget下载OpenCV3.X, 这里是3.4.7
sudo apt-get install wget wget https://github.com/opencv/opencv/archive/3.4.7.zip
之后解压这个zip包, 进入解压目录, 新建build文件夹
mkdir build ; cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF ..
cmake这里需要说一下, /usr/local是安装路径, 可以修改. 然后, 后面一大串的目的就是编译的时候, python默认用python3.
然后开始编译和安装.
sudo make -j2 sudo make install
之后如果你用python, 你需要用pip3下载opencv-python, 如果你是C++, 就可以跳过.
sudo apt install python3-pip pip3 install opencv-python
运行python3, 输入import cv2, 无错误就是成功.
测试
官方提供了一个打开摄像头的测试用例, 进入如图目录, 编译运行.
cmake . make ./opencv_example
或者, 你可以用g++嘛. 注意不是单引号', 是波浪线下面那个点`.
g++ example.cpp `pkg-config opencv --libs --cflags opencv`
当然, 可以用自己的案例. 比如这里, 我用了一个Ransac算法, 新建build目录, 然后编译运行, 也完全ok.
macOS安装OpenCV3.X
mac上安装比较简单, 主要还是依靠homebrew. 首先用homebrew看下版本:
brew search opencv
这里我们要装的是opencv@3
brew install opencv@3
下载完成之后, 你需要把动态库进行链接.
比方说, 我已经进入我用virtualenv构建的虚拟环境env1的/lib/python3.7/site-packages, 使用如下链接指令, 就可以把.so文件链接到当前环境目录下.
ln -s /usr/local/Cellar/opencv@3/3.4.5_6/lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-darwin.so cv2.so
链接成功之后, 可以用ll查看:
然后可以进入python环境进行测试, 可以成功导入并查看版本号就是链接成功.
最后
喜欢记得点赞或者关注我哦, 有意见或者建议评论区见~
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软宣布加入 OpenJDK 项目
近日,微软的 Bruno Borges 在 OpenJDK 邮件列表中发布了一条消息,内容包含接下来发生的事情以及微软如何开始将其团队整合到 OpenJDK 社区。在邮件中,Bruno Borges 提到,微软已正式签署《Oracle 贡献者协议》。同时,他重申了微软对 Java 的承诺,以及微软团队对回馈 Java 社区的期待。 Borges 曾经是 Oracle 开发人员,现在担任微软 Java 的首席产品经理。他向大家介绍了 Java 工程团队负责人 Martijn Verburg,Verburg 同时也是 jClarity 的首席执行官,而 jClarity 是 AdoptOpenJDK 的主要贡献者,于今年 8 月被微软收购。 该邮件可以在OpenJDK 邮件列表中找到: 嗨,OpenJDK 社区, 在过去的一周中,微软正式签署了《Oracle 贡献者协议》,甲骨文公司对我们参与该项目表示了认可及欢迎。我代表微软 Java 工程团队,很高兴正式加入 OpenJDK 项目,并期待与你们的合作。 众所周知,微软及其子公司在许多方面都高度依赖 Java,并且在微软 Azure 云中...
- 下一篇
什么是微服务?
什么是微服务?为什么会有微服务?让我们带着这些疑问开始我们的探索。 我们先看下维基百科和百度百科给出的定义: 维基百科:2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通信。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务可以用不同的编程语言与数据库等组件实现。 百度百科:所谓的微服务是SOA架构下的最终产物,该架构的设计目标是为了肢解业务,使得服务能够独立运行。微服务设计原则:1、各司其职 2、服务高可用和可扩展性 概念还是比较抽象的,接下来,我将从单体应用开始,讲解为什么会有微服务以及什么是微服务。 单体应用 在初期,互联网公司的应用技术栈大致分为 LAMP(Linux + Apache + MySQL + PHP)和 MVC(Spring + iBatis/Hibernate + Tomcat)两大流派。两者都是为单体应用架构设计的,其优点是学习成本低,开发上手快,测...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7