python编程上可九天揽月,下可五洋捉鳖,10行代码进行图像识别

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法非常简捷和清晰,与其它大多数程序设计语言不一样,它使用缩进来定义语句。

Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

随着深度学习算法的兴起和普及,人工智能领域取得了令人瞩目的进步,特别是在计算机视觉领域。21世纪的第二个十年迅速采用卷积神经网络,发明了最先进的算法,大量训练数据的可用性以及高性能和高性价比计算的发明。计算机视觉中的一个关键概念是图像分类; 这是软件系统正确标记图像中主导对象的能力。

ImageAI是一个Python库,旨在帮助开发人员构建具有自包含计算机视觉功能的应用程序和系统。

1. 安装Python 3.5.1或更高版本和pip

(如果您已经安装了Python 3.5.1或更高版本,请跳过本节)

https://www.python.org/downloads/

2. 安装ImageAI依赖项

– Tensorflow

pip3 install --upgrade tensorflow

– Numpy

pip3 install numpy

– SciPy

pip3 install scipy

– OpenCV

pip3 install opencv-python

– Matplotlib

pip3 install matplotlib

– h5py

pip3 install h5py

– Keras

pip3 install keras

3. 安装ImageAI库

pip3 install https://github.com/OlafenwaMoses/ImageAI/raw/master/dist/imageai-1.0.2-py3-none-any.whl

4. 下载经过ImageNet-1000数据集训练的ResNet Model文件,并将文件复制到您的python项目文件夹。

https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels.h5

5. 创建一个名称为python的文件(例如“FirstPrediction.py”),并将下面的代码写入其中。

from imageai.Prediction import ImagePrediction import os execution_path = os.getcwd() prediction = ImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath( execution_path + " esnet50_weights_tf_dim_ordering_tf_kernels.h5") prediction.loadModel() predictions, percentage_probabilities = prediction.predictImage("C:UsersMyUserDownloadssample.jpg", result_count=5) for index in range(len(predictions)): print(predictions[index] + " : " + percentage_probabilities[index])

sample.jpg

代码结果:

sports_car : 90.61029553413391 car_wheel : 5.9294357895851135 racer : 0.9972884319722652 convertible : 0.8457873947918415 grille : 0.581052340567112

关于怎么快速学python,有什么方法,这个问题,想必大家都已经心中有数了,打算深入了解这个行业的朋友,可以加下小编的python学习裙:588+090+942,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

每天晚上20:00我都会开直播给大家分享python学习知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018python学习教程),大家都是学习python的,或是转行,或是大学生,还有工作中想提升自己能力的python党,如果你是正在学习python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

代码说明

现在让我们分解代码,以便了解它是如何工作的。上面的代码工作如下:

from imageai.Prediction import ImagePrediction import os

上面的代码导入了ImageAI ImagePrediction类和python os类。

execution_path = os.getcwd()

上面的代码创建一个变量,它保存对包含python文件(在本例中为FirstPrediction.py)和ResNet模型文件的路径的引用。

prediction = ImagePrediction() prediction.setModelTypeAsResNet() prediction.setModelPath(execution_path +“ resnet50_weights_tf_dim_ordering_tf_kernels.h5”)

在上面的代码中,我们在第一行创建了一个ImagePrediction()类的实例,然后通过在第二行中调用.setModelTypeAsResNet(),将预测对象的模型类型设置为ResNet ,然后设置模型路径将预测对象复制到模型文件(resnet50_weights_tf_dim_ordering_tf_kernels.h5)的路径中,并将其复制到第三行的项目文件夹文件夹中。

predictions, percentage_probabilities = prediction.predictImage("C:UsersMyUserDownloadssample.jpg", result_count=5)

在上面的行中,我们定义了2个变量,它等于被调用来预测图像的函数,这个函数是 .predictImage()函数,我们在其中解析了图像的路径,并且还指出了我们想要的预测结果的数量有(从1到1000的值)解析result_count = 5 。所述 .predictImage()函数将返回与所述第一(2级阵列的对象的预测)是预测和所述第二(阵列percentage_probabilities)是相应的百分比概率为每个预测的阵列。

for index in range(len(predictions)): print(predictions[index] + " : " + percentage_probabilities[index])

上述行获取中的每个对象的预测阵列,并且还获得从相应百分比概率percentage_probabilities,最后打印二者的结果到控制台。

该 .predictImage()函数将在路径中的图像,也可以说明我们预计函数返回预测的数量(可选,默认为5)。ImageNet-1000数据集中有1000个项目,ResNet模型在该数据集上进行了训练,这意味着 .predictImage函数将返回1000个可能的预测值,并按其概率排列。

Python可以做什么?

web开发和 爬虫是比较适合 零基础的

自动化运维 运维开发 和 自动化测试 是适合 已经在做运维和测试的人员

大数据 数据分析 这方面 是很需要专业的 专业性相对而言比较强

科学计算 一般都是科研人员 在用

机器学习 和 人工智能 首先 学历 要求高 其次 高数要求高 难度很大

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180520A14LMQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券