使用OpenCV_python中的DNN调用CaffeModel识别图像只需30行代码
来源:互联网 发布:新西兰华人 知乎 编辑:程序博客网 时间:2024/06/07 08:34
OpenCV3.3开始正式支持DNN,有C++,Python的Sample,只要下载CaffeModel,识别图像的代码非常简洁。
#coding:utf-8from __future__ import print_functionimport numpy as npimport cv2from cv2 import dnnimport syscm_path='caffemodel/'def get_class_list(): with open(cm_path+'bvlc_googlenet_synset_words_cn1.txt', 'rt') as f: return [x[x.find(" ") + 1:] for x in f]def dnn_show_result(prob,classes,n): y = sorted(prob[0],reverse = True) #从大到小排序 z=range(n) #前n名 for i in range(0, n): z[i]=np.where(prob[0] == y[i])[0][0] print(u"第",i+1,u"匹配:", classes[z[i]],end='') print(u"类所在行:", z[i]+1," ",u"可能性:", y[i])if __name__ == "__main__": if len(sys.argv) < 2: print ("USAGE: googlenet_z.py images/tiger.jpg") sys.exit() fn=sys.argv[1] blob = dnn.blobFromImage(cv2.imread(fn), 1, (224, 224), (104, 117, 123)) print("Input:", blob.shape, blob.dtype) net = dnn.readNetFromCaffe(cm_path+'bvlc_googlenet.prototxt', cm_path+'bvlc_googlenet.caffemodel') net.setInput(blob) prob = net.forward() print("Output:", prob.shape, prob.dtype) classes = get_class_list() dnn_show_result(prob,classes,3)
OpenCV-Python 下载:https://pypi.python.org/pypi/opencv-python
代码下载:http://download.csdn.net/download/zw010101/10109152 (含bvlc_googlenet.caffemodel,bvlc_googlenet.prototxt,bvlc_googlenet_synset_words.txt)
阅读全文
0 0
- 使用OpenCV_python中的DNN调用CaffeModel识别图像只需30行代码
- Opencv如何使用dnn读取caffemodel进行识别
- 调用OCR识别图像中的文字
- Opencv_Python中的轮廓
- 使用python识别图像中的文字
- 如何使用DNN中的Calendar控件
- 如何使用DNN中的事件记录服务
- Caffemodel解析代码
- Opencv_Python学习笔记--OpenCV中的GUI特性
- OpenCV_Python学习笔记--OpenCV中的绘图函数
- 图像识别中的深度学习
- 图像识别中的深度学习
- 图像识别中的深度学习
- 图像识别中的深度学习
- 图像识别中的深度学习
- 图像识别中的深度学习
- 图像识别中的深度学习
- 图像识别中的深度学习
- PhalApi-APK -- APK文件解包处理
- Xshell怎么连接数据库
- 20171108 自省
- 【备忘】中移动大型分布式redis,solr,Linux,nginx,springmvc,mybatis电商项目
- centos7 源码包安装apache(httpd),以及解决80端口被占用的问题
- 使用OpenCV_python中的DNN调用CaffeModel识别图像只需30行代码
- 关于 equals 和 == 的具体区别 从源码角度分析
- [Docker] CentOS 7 离线安装 Docker 1.12.6
- 二叉树-求二叉树当前节点的三序访问的下一节点
- 学习汇编(二)
- 使用sys模块,编辑test.py
- sqlite命令行版安装及简单使用
- maven+jetty使用
- 2013ACM/ICPC亚洲区南京站现场赛——题目重现 (HDU 4810) 二进制思想