【PyImageSearch】Ubuntu16.04使用OpenCV3.3.0实现图像分类
OpenCV并不是(也不打算)作为一个工具来训练网络,这里已经有更伟大的框架来完成这件事情。新版OpenCV兼容以下热门网络架构:
AlexNet
SqueezeNet
VGGNet (and associated flavors)
ResNet
接下来,我们将创建一个Python脚本,该脚本可用于使用Caffe框架使用OpenCV和GoogLeNet(在ImageNet上进行预培训)对输入图像进行分类。
同时,让我们学习如何加载预先训练好的Caffe模型,并使用它来使用OpenCV对图像进行分类。
首先,打开一个新文件,将其命名为deep_learning_with_opencv.py ,插入如下代码,来导入我们需要的包:

然后我们解析命令行参数:

--image : The path to the input image.
--prototxt : The path to the Caffe “deploy” prototxt file.
--model : The pre-trained Caffe model (i.e,. the network weights themselves).
--labels : The path to ImageNet labels (i.e., “syn-sets”).
然后加载输入图像和标签:


接下来,让我们看下OpenCV3.3的dnn模块:

然后,我们从磁盘加载预训练好的模型:
我们用cv2.dnn.readNetFromCaffe来加载Caffe模型定义prototxt,以及预训练模型。
接下来,我们以blob为输入,在神经网络中完成一次正向传播:

最后,我们来为输入图像取出5个排名最高的预测结果:

我们来选取排名前5的结果,然后将他们显示出来:

以上是关于OpenCV3.3的dnn模型的介绍,下面在本地上完成模型的输出:
1.首先下载源代码以及预训练的GoogleNet架构以及示例图片,链接我在下面的原文链接中给出,直接找到”Downloads“输入邮箱获取;
2.打开ternimal,cd到你下载的路径下,输入下面的命令:
$ python deep_learning_with_opencv.py --image images/jemma.png
--prototxt bvlc_googlenet.prototxt \
--model bvlc_googlenet.caffemodel --labels synset_words.txt
运行成功的话会在ternimal下显示:
[INFO] loading model...
[INFO] classification took 0.075035 seconds
[INFO] 1. label: beagle, probability: 0.81137
[INFO] 2. label: Labrador retriever, probability: 0.031416
[INFO] 3. label: bluetick, probability: 0.023929
[INFO] 4. label: EntleBucher, probability: 0.017507
[INFO] 5. label: Greater Swiss Mountain dog, probability: 0.01444

版权声明:
作者:王老头
出处:http://www.cnblogs.com/wmr95/p/7640017.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,并在文章页面明显位置给出原文链接,否则,作者将保留追究法律责任的权利。
【PyImageSearch】Ubuntu16.04使用OpenCV3.3.0实现图像分类的更多相关文章
- ubuntu16.04 安装opencv3.2.0以及opencv_contrib-3.2.0
1.需要的包:sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config l ...
- ubuntu16.04安装opencv3.4.0
老实说这篇记录可能拖了有8个月了,早在去年6月份我应该是第一遍安装opencv.当时懒得记录,以为自己什么都能记得住.后来由于电脑各种原因,需要重装opencv,装的时候发现啥都记不住了.然后又得去找 ...
- Ubuntu16.04 anaconda3 opencv3.1.0 安装CPU版本caffe
安装anaconda3 安装opencv3.1.0 安装依赖库 修改Makefile.config 修改Makefile 编译报错,卸载anaconda中的protobuffer: conda uni ...
- ubuntu16.04 安装opencv3.4.0
参考 https://www.cnblogs.com/arkenstone/p/6490017.html https://blog.csdn.net/u013180339/article/detail ...
- 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0
目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...
- 配有Tesla K40c的服务器新装Ubuntu16.04并安装CUDA8.0、Anaconda3、Matlab2016a、OPENCV3.1、CuDNN5.1、MXNet
注:本文原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) 决定加入深度学习的大军,感谢导师给配了台新设备!第一次接触服务器并配置开发环境,整个过程中 ...
- ubuntu16.04 安装opencv3.3
from: http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/ Step #1: Install O ...
- 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)
本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...
- Ubuntu16.04 - 安装gtk+-3.0和appindicator3-0.1
今天在Ubuntu16.04里面遇到这样的问题: # pkg-config --cflags gtk+-3.0 appindicator3-0.1Package gtk+-3.0 was not fo ...
随机推荐
- php oracle数据库clob和nclob字段
php oracle数据库clob和nclob字段 nclob类型 1.nclob不能使用php的stream_get_contents来获取数据库的资源内容, 2.并且nclob只能使用to_cha ...
- 混合线性模型(linear mixed models)
一般线性模型.混合线性模型.广义线性模型 广义线性模型GLM很简单,举个例子,药物的疗效和服用药物的剂量有关.这个相关性可能是多种多样的,可能是简单线性关系(发烧时吃一片药退烧0.1度,两片药退烧0. ...
- Onsen UI快速入门 --Onsen UI
一.什么是Onsen UI? 1.一系列专为移动应用程序设计的丰富UI组件.具有遵循原生iOS和Android设计标准的即时实现功能.免费使用,100%开源软件(Apache v2许可证).Onse ...
- 进程状态TASK_UNINTERRUPTIBLE
进程拥有以下几种状态:就绪/运行状态.等待状态(可以被中断打断).等待状态(不可以被中断打断).停止状态和僵死状态. TASK_RUNNING: 正在运行或处于就绪状态:就绪状态是指进程申请到了CPU ...
- EventBus 3.0使用相关
一 引入方法 可以去github的官网中下载EventBus的相关资源 地址:https://github.com/greenrobot/EventBus 当然还有他的官方网站 http://gre ...
- Confluence 6 创建一个空间
在 Confluence 中并不限制你可以创建多少空间.你可以选择为你每一个小组,项目都创建一个空间,或者你也可以将这 2 者混合在一起.所有的这些都基于你的需求来决定的. 每一个 Confluenc ...
- Kindergarten CodeForces - 484D (贪心,好题)
大意: 给定序列, 求划分为若干段, 使得总贡献最大, 每段的贡献为max-min 可以发现最优解一定是连续一段递增或递减, 然后dp即可. #include <iostream> #in ...
- 『计算机视觉』各种Normalization层辨析
『教程』Batch Normalization 层介绍 知乎:详解深度学习中的Normalization,BN/LN/WN 一.两个概念 独立同分布(independent and identical ...
- linux配置hadoop集群
①安装虚拟机 ②为虚拟机添加共享文件 右击已经安装好的虚拟机 设置—>选项—>共享文件 ③配置映射 sudo nano /etc/network/interfaces 重启网络:sud ...
- 前端VUE框架-es6
EMCAScript 6 又叫 es2015 1.常量和变量 常量: const a = "hello" 常量不能修改和重复定义 变量: let:定义一个块级作用域的变量 需要先定 ...