实战深度学习(上)OpenCV库
在如今人工智能的浪潮下,无数模拟机器学习和深度学习的开发者工具倍出,其中在计算机图形学和计算机视觉里面最流行的一个库就是OpenCV库了.计算机图形学和计算机视觉学在我们的自动驾驶和仿生机器人当中有着举足轻重的地位,尤其是opencv库在里面的应用尤为广泛。今天我就分享给大家我们在python环境下,实现调用opencv库。用Python调用opencv库而不用C++的缘故是,第一:现在我们的高端处理器(如由中科大少年班的天才陈天石先生所创办的寒武纪科技有限公司的深度学习处理器)已经具备了强大的算力,除了谷歌的处理器就是地表最强的NPU了,因此我们并不需要这种高效率的语言来支撑。即使像我们普通学生使用的树莓派也可以跑得上Python,从而实现物联网。二:C++的代码过于繁琐,Python则可以用更短小的代码块来实现。在软件的开发周期上会变得更小。三:Python简单易学,笔者用三天学完了Python,学习C++则学习了接近一个星期。
一:首先,您应该确保您的电脑应经安装了python的环境,笔者是安装的python3.6一个比较新的版本,以前的老版本python2.x对我们新技术的支持不是很好。同时我们python当中的各种库的版本也很有可能不相适应,这是计算机科学这门学科的特征。因此,建议安装更新版本的Python。
二,如果您已经为您的Python配置了环境变量,那么请您使用win+R键,然后在输入cmd,
进入Windows系统的命令行模式。


三。如果您还没有为您的电脑配置环境变量的话,请为您的电脑配置环境变量,将Python的路径添加到您电脑的环境变量当中,这样就可以直接在命令行模式下进行编译Python文件了。比如这样:
先在Python的命令行模式下输入:Python,然后再输入代码print(5),如果输出5成功,那么您的环境变量肯定是配置好了。关于具体该如何配置环境变量,笔者就不加累述了,这对学习计算机的朋友来说实在是小菜一碟,如果确实不知道该如何配置环境变量,是第一次接触非C语言的朋友,请您到网址https://jingyan.baidu.com/article/48206aeafdcf2a216ad6b316.html上自行学习。
四:找到您以前已经安装过的Python文件的路径
方便将我们的opencv库下载下来之后找到保存的地点。这时请继续保持打开我们刚才的命令行模式,输入以下代码:
import sys >>> sys.path
这样,计算机就会自动显示出您Python文件的安装路径了。这是十分重要的一步,没有这一步,您的计算机上是不可能安装好opencv库的。
五:点击进入网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
在这个国外的网站里汇聚了Python的各种类库,是美国加州大学(世界排名第三)所推出的。是我们做机器学习的人的天堂。此时,您应该找到numpy库,进行下载(因为如果您要安装opencv库的话,是必然得安装numpy库的),下载的时候记住:文件的后缀是whl,我们稍后将利用pip会进行安装。文件的前缀有cp两个英文,cp后表示的是Python的版本吗,笔者用的是3.6版本的Python,因此文件的前缀当中必然有cp36这个选项了。网站主页如图所示;

六:将您刚刚所选择的numpy,opencv库的文件保存至Python安装文件的根目录下的scripts下,在这个文件的目录下,你还会发现有pip.exe以及east_install.exe的程序文件,这就对了。
七:再次打开您的命令行模式:
输入cd C:/xxxx(您Python文件安装目录的scripts文件夹),这改变的是您在命令行模式下的文件根目录,十分有效。
八:为您的ython安装文件的根目录下的scripts配置环境变量。具体配置环境变量的方法还是和以前一样。不会的话,请参见网址:https://jingyan.baidu.com/article/48206aeafdcf2a216ad6b316.html
:在命令行模式下输入:pip install wheel

继续等待下载完成。如果出现了如下图像,则说明您安装成功了
十:在命令行模式下输入pip install (您刚才现在的numpy文件的文件名).whl
等待collect被安装,很快便会显示安装成功(笔者电脑CPU算力比较强大)安装成功后将会显示:

上面这串英文应该很简单吧,正常人应该都会看得懂这是成功安装安装包的意思。最后安装opencv库。
十一:安装opencv库的方法和第十步是完全一样的。
十二:检测我们的OpenCV库是否安装成功。在命令行模式下输入:
pip freeze
这样我们就会看到您的Python除了标准库之外,您所安装的所有库文件了。笔者的由于还在做单纯的机器学习算法实现,因此,还安装了其他数据科学,和科学计算的库。不相关的库也被笔者所删除了。

以上就是笔者所安装的所有库。今天的教程就到这里了,后面有关OpenCV库的Python代码实现,我将会在公众号的下一期当中发布具体的代码以及具体的使用方法。在下一期当中我们才会真正领略到opencv的强大威力。如果您有什么疑惑,可以在下面的留言区留言,我一定会尽我所能为您解答。如果我有什么说得不对的地方,也还请多多指教。
实战深度学习(上)OpenCV库的更多相关文章
- 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别
用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 http://phunter.farbox.com/post/mxnet-tutorial1 用MXnet实战深度学 ...
- 实战深度学习(下)OpenCV库
在上一节中,我们讲到了OpenCV库的安装,现在我们来进行实战,看如何利用Python来调用OpenCV库. 一: 如果您的电脑是win10的系统,那么请您按下win键,再按下空格键,输入Python ...
- [PyImageSearch] Ubuntu16.04 使用深度学习和OpenCV实现物体检测
上一篇博文中讲到如何用OpenCV实现物体分类,但是接下来这篇博文将会告诉你图片中物体的位置具体在哪里. 我们将会知道如何使用OpenCV‘s的dnn模块去加载一个预训练的物体检测网络,它能使得我们将 ...
- TensorFlow(实战深度学习框架)----深层神经网络(第四章)
深层神经网络可以解决部分浅层神经网络解决不了的问题. 神经网络的优化目标-----损失函数 深度学习:一类通过多层非线性变化对高复杂性数据建模算法的合集.(两个重要的特性:多层和非线性) 线性模型的最 ...
- Windows上mxnet实战深度学习:Neural Net
前提: 假设已经在Windows上安装配置好mxnet和python语言包. 假设mxnet安装目录为D:\mxnet 假设已安装好wget 可以参考 这篇文章 打开Windows的命令提示符: 执行 ...
- 实战深度学习OpenCV(三):视频实时canny边缘检测
#include <stdio.h> #include"opencv2/opencv.hpp" using namespace cv; int main() { Vid ...
- 实战深度学习OpenCV(二):读取并播放本地或者摄像头的视频
一.读取并播放的代码如下: #include "pch.h" #include <iostream> #include <opencv2/core/core.hp ...
- 实战深度学习OpenCV(一):canny边缘检测
利用canny边缘检测,我们可以很好地得到哦一个图像的轮廓,下面是基于C++的,这是我们通过这段代码得到的结果: #include "pch.h" #include <ios ...
- Tesla P4 在深度学习上的性价比辗压目前所有量产的FPGA
7000的价格, 5.5T FP, 75W不到的功耗,性能接近M40,敢问目前有哪个量产的FPGA能做到?还不算开发和维护的难度...KU115光PCIE+DMA+DDR4 controller+AX ...
随机推荐
- js数据结构与算法——队列
<script> //创建一个队列 function Queue(){ let items = []; //向队尾添加一个新的项 this.enqueue = function(eleme ...
- 详解Django的CSRF认证
1.csrf原理 csrf要求发送post,put或delete请求的时候,是先以get方式发送请求,服务端响应时会分配一个随机字符串给客户端,客户端第二次发送post,put或delete请求时携带 ...
- Lesson 2-3(字符串)
2.5 字符串 --- 字符串是不可变的. >>> str = "Hello world!" >>> str[-6:-1] = "py ...
- Bootstrap-datepicker3官方文档中文翻译---Keyboard support/键盘支持(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
本日期控件包含了键盘导航. “focused date” 在键盘导航期间一直会被保持追踪并且高亮显示(就想鼠标悬停的时候一样),当一个日期被切换(译者注:选中状态的切换)时或者控件隐藏时清除. up ...
- python_urllib2:urlerror和httperror
urllib2的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是UR ...
- docker删除已经停止的容器
前言:docker容器已经停止运行的容器,怎么清理 1.如图: docker ps -a :显示所有运行过的docker容器 status : docker容器的状态 docker ...
- MyBatis异常:元素内容必须由格式正确的字符数据或标记组成
今天在写接口查询SQL时,报了一个异常,如下: Cause: org.apache.ibatis.builder.BuilderException: Error creating document i ...
- VS 中 无法嵌入互操作类型“……”,请改用适用的接口的解决方法
在引用COM组件的时候,出现了无法嵌入互操作类型"--",请改用适用的接口的错误提示. 选中项目中引入的dll,鼠标右键,选择属性,把"嵌入互操作类型"设置为F ...
- SpringBoot热部署
SpringBoot的热部署方式分为两种 1.SpringLoader 方式一:以maven插件方式使用SpringLoader <!-- Springloader插件 --> 1.1 ...
- echarts中的区域缩放组件dataZoom,主动触发选区缩放点击事件
options设置 toolbox: { // 工具栏 feature: { dataZoom : { // 选时间缩放功能 show : true, // show为true时,才能触发takeGl ...