Tensorflow + ImageNet Inception-v3 视频图像识别

使用Tensorflow的Inception-v3模型,结合Python和摄像头进行实时视频图像识别。通过调整VideoCapture包源代码解决运行问题,程序从摄像头获取图像,进行识别并显示最可能的匹配类别。

Tensorflow + ImageNet Inception-v3 摄像头视频图像识别


准备工作

编程环境:python 3.6.1, win7, x64
材料准备

  1. Google基于2012年ImageNet
    Challenge训练的模型:inception-2015-12-05.tgz
  2. 非官方的python库(官方的python3.6版本还没有,如果是更旧一点的python版本可以查找一下官方的pip或者conda包)http://www.lfd.uci.edu/~gohlke/pythonlibs/。在里面下载:

Pillow-4.2.1-cp36-cp36m-win_amd64.whl

VideoCapture-0.9.5-cp36-cp36m-win_amd64.whl

安装
命令行进入到两个包所在目录,安装PIL和VideoCapture

pip install Pillow-4.2.1-cp36-cp36m-win_amd64.whl
pip install VideoCapture-0.9.5-cp36-cp36m-win_amd64.whl

可能出现:
PermissionError:[WinError 5] Access is denied:...
以python模块方法调用pip可以解决:

python -m pip install Pillow-4.2.1-cp36-cp36m-win_amd64.whl
python -m pip install VideoCapture-0.9.5-cp36-cp36m-win_amd64.whl

inception-2015-12-05.tgz解压后放在当前目录的一个新的文件夹下,我这里取名model,如果自己起另外的目录名,脚本中对应的FLAGS调用地址也要做出修改。

model 中一共包含5个文件:

classify_image_graph_def.pb
cropped_panda.jpg
imagenet_2012_challenge_label_map_proto.pbtxt
imagenet_synset_to_human_label_map.txt
LICENSE

在python中测试摄像机的拍照、导出照片到jpg格式文件的功能:

from VideoCapture import Device
cam=Device()
cam.saveSnapshot('image_cap.jpg')

可能会出现以下错误:

Exception: fromstring() has been removed. Please call frombytes() instead.

这个最标准的解决方法应该是更新PIL包??。。。但是。。我的难道不是最新的吗??

此处输入图片的描述

所以组织上已经决定了,直接改源代码,在VideoCapture包的这个文件里,在报错信息上可以找到:
C:\Anaconda3\lib\site-packages\VideoCapture__

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值