SDK For Python

本文以Python为示例

安装 Python 环境

IMM Service 的Python SDK目前只支持 Python 2.6.x, 2.7.x。

请按以下步骤安装Python:

  • 下载并安装最新的 Python 2 安装包。

完成Python安装后,运行python -V确认Python版本。

  • 下载并安装 Python 的包管理工具 pip。

完成 pip 安装后,你可以运行pip -V确认 pip 是否安装成功和查看当前 pip 版本。

安装 Imm Service Python SDK

  • 使用 pip 安装(推荐)

    pip install aliyun-python-sdk-core # 安装阿里云 SDK 核心库
    pip install aliyun-python-sdk-imm # 安装管理 IMM 的库
  • 下载 GithHub 源码

    git clone https://github.com/aliyun/aliyun-openapi-python-sdk.git
    # 安装阿里云 SDK 核心库
    cd aliyun-python-sdk-core
    python setup.py install
    # 安装阿里云 IMM SDK
    cd aliyun-python-sdk-imm
    python setup.py install

使用Python SDK

初始化客户端

使用之前需要,您需要先获取 Region ID、AccessKey ID 和 AccessKey Secret。

# -*- coding: utf8 -*-
import json
import timefrom aliyunsdkcore.client import AcsClientclient = AcsClient("<your-access-key-id>", "<your-access-key-secret>","<your-region-id>"
)

创建Project

根据您的需求,选择Project类型。本示例目的是展示关键参数,详情参考Project文档。

注意事项:

  • 测试时Project的BillingType请设置为ByUsage方式,本文所有示例代码BillingType均使用ByUsage。
  • 不能创建名称相同的Project。

代码示例

from aliyunsdkimm.request.v20170906 import PutProjectRequestproject = "python-sdk-demo-doc" #设置Project的名字
project_type = "DocStarter"  #图片标准型
project_cu  = 1
project_billing_type = 'ByUsage'createReq = PutProjectRequest.PutProjectRequest()
createReq.set_Project(project)
createReq.set_Type(project_type)
createReq.set_Type(project_cu)
createReq.set_BillingType(project_billing_type)response = client.do_action_with_exception(createReq)print response

输出结果

{"CU": 1 ,"Type": "DocStarter","CreateTime": "2018-10-30T03:11:23Z","RequestId": "4F048F9F-D622-4B96-9286-AEA234BF1480","ModifyTime": "2018-10-30T03:11:23Z","Project": "python-sdk-demo-doc","BillingType": "ByUsage","Endpoint": "imm.cn-beijing.aliyuncs.com","ServiceRole": ""
}

创建具体的服务

文档管理操作

文档同步转换

本示例目的是展示关键参数,其余参数具体请参考ConvertOfficeFormat。

代码示例

from aliyunsdkimm.request.v20170906 import ConvertOfficeFormatRequestproject = "python-sdk-demo-doc" #演示用project已创建,您需要自己创建
sync_srcUri = "oss://co-user-cn-beijing/zqh/input/WORD/5页Word.docx" #您文档资源的位置
sync_tgtUri = "oss://co-user-cn-beijing/zqh/output/PDF/" #您要输出的位置
tgt_type = "png"   #转化类型createReq = ConvertOfficeFormatRequest.ConvertOfficeFormatRequest()
createReq.set_Project(project)
createReq.set_SrcUri(sync_srcUri)
createReq.set_TgtUri(sync_tgtUri )
createReq.set_TgtType(tgt_type)response = client.do_action_with_exception(createReq)print response

输出结果

{"PageCount": 5,"RequestId": "84302ED0-4823-4623-8AED-6E4129DA9733"
}

文档异步转换

创建转换任务

本示例目的是展示关键参数,其余参数具体请参考CreateOfficeConversionTask。

代码示例

from aliyunsdkimm.request.v20170906 import CreateOfficeConversionTaskRequestproject = "python-sdk-demo-doc" #演示用project已创建,您需要自己创建
async_srcUri = "oss://co-user-cn-beijing/zqh/input/WORD/5页Word.docx" #您文档资源的位置
async_tgtUri = "oss://co-user-cn-beijing/zqh/output/PDF/" #您要输出的位置
tgt_type = "png"   #转化类型createReq = CreateOfficeConversionTaskRequest.CreateOfficeConversionTaskRequest()
createReq.set_Project(project)
createReq.set_SrcUri(async_srcUri)
createReq.set_TgtUri(async_tgtUri )
createReq.set_TgtType(tgt_type)response = client.do_action_with_exception(createReq)print response

输出结果

{"Status": "Running","CreateTime": "2018-10-30T03:49:06.345Z","RequestId": "D1BA4308-CA2F-4F93-B3C6-B30188855138","Percent": 0,"TaskId": "2ef08a22-6cff-4204-a1f5-38473d66596b","TgtLoc": "oss://co-user-cn-beijing/zqh/input/WORD/5页Word.docx"
}
获取转换状态

本示例目的是展示关键参数,其余参数具体请参考GetOfficeConversionTask。

代码示例

from aliyunsdkimm.request.v20170906 import GetOfficeConversionTaskRequestproject = "python-sdk-demo-doc" #演示用project已创建,您需要自己创建
task_id = "2ef08a22-6cff-4204-a1f5-38473d66596b"createReq = GetOfficeConversionTaskRequest.GetOfficeConversionTaskRequest()
createReq.set_Project(project)
createReq.set_TaskId(task_id )

输出结果

{"FailDetail": {"Code": "NoError"},"NotifyTopicName": "","TaskId": "2ef08a22-6cff-4204-a1f5-38473d66596b","NotifyEndpoint": "","PageCount": 5,"Status": "Finished","TgtType": "png","FinishTime": "2018-10-30T03:49:07.651Z","RequestId": "D200F0EF-F3E7-4A18-B2A7-E7BBBA8E10EC","CreateTime": "2018-10-30T03:49:06.345Z","SrcUri": "oss://co-user-cn-beijing/zqh/input/WORD/5页Word.docx","Percent": 100,"TgtUri": "oss://co-user-cn-beijing/zqh/input/WORD/5页Word.docx"
}

图片管理操作

Face检测

本示例目的是展示关键参数,其余参数具体请参考DetectFace。

代码示例

from aliyunsdkimm.request.v20170906 import DetectFaceRequestproject = "python-sdk-demo-photo" #演示用project已创建,您需要自己创建
srcUri = '["oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp"]' #您图片资源的位置createReq = DetectFaceRequest.DetectFaceRequest()
createReq.set_Project(project)
createReq.set_SrcUris(srcUri)response = client.do_action_with_exception(createReq)print response

输出结果

{"SrcUris": ["oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp"],"RequestId": "21404A97-8625-44DB-8C7A-E7F33A9EDEF4","SuccessDetails": [{"SrcUri": "oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp","Faces": [{"FaceAttribute": {"Blur": {"Blurness": {"Value": 12.217,"Threshold": 50}},"FaceQuality": {"Value": 100,"Threshold": 70.1},"HeadPose": {"RollAngle": 2.934,"PitchAngle": 10.529,"YawAngle": -3.145},"Age": {"Value": 21},"EyeStatus": {"RightEyeStatus": {"DarkGlasses": 0,"NoGlassEyeClose": 0.001,"Occlusion": 0.049,"NormalGlassEyeOpen": 0.106,"NormalGlassEyeClose": 0.001,"NoGlassEyeOpen": 99.842},"LeftEyeStatus": {"DarkGlasses": 0.014,"NoGlassEyeClose": 0.006,"Occlusion": 0.504,"NormalGlassEyeOpen": 4.954,"NormalGlassEyeClose": 0.004,"NoGlassEyeOpen": 94.517}},"Gender": {"Value": "Male"}},"FaceRectangle": {"Top": 17,"Height": 89,"Width": 89,"Left": 4},"FaceId": "66690675bd0bc2599170fc63e7f8dbd8"}],"PhotoId": "77f6e9ce630b83956192e8bd4af3cf39"}],"FailDetails": []
}

Tag检测

本示例目的是展示关键参数,其余参数具体请参考DetectTag。

代码示例

from aliyunsdkimm.request.v20170906 import DetectTagRequestproject = "python-sdk-demo-photo" #演示用project已创建,您需要自己创建
srcUri = '["oss://co-user-cn-beijing/zqh/input/TagSet/baseball.jpg"]' #您图片资源的位置createReq = DetectTagRequest.DetectTagRequest()
createReq.set_Project(project)
createReq.set_SrcUris(srcUri)response = client.do_action_with_exception(createReq)print response

输出结果

{"SuccessNum": "1","RequestId": "6A3188E0-BC89-4AD5-9348-851F37F5AF95","SuccessDetails": [{"Tags": [{"ParentTagId": "11","TagScore": "0.8965469","TagLevel": "2","TagId": "0","ParentTagName": "运动","TagName": "其他"},{"ParentTagId": "10","TagScore": "0.7168899","TagLevel": "2","TagId": "655","ParentTagName": "其他","TagName": "棒球守备位置"},{"ParentTagId": "11","TagScore": "0.55166656","TagLevel": "2","TagId": "50","ParentTagName": "运动","TagName": "球赛"},{"ParentTagId": "10","TagScore": "0.53409994","TagLevel": "2","TagId": "940","ParentTagName": "其他","TagName": "场地"},{"ParentTagId": "0","TagScore": "0.5216745","TagLevel": "2","TagId": "159","ParentTagName": "人物","TagName": "比赛者"},{"ParentTagId": "0","TagScore": "0.5185509","TagLevel": "2","TagId": "65","ParentTagName": "人物","TagName": "足球运动员"},{"ParentTagId": "0","TagScore": "0.5162505","TagLevel": "2","TagId": "54","ParentTagName": "人物","TagName": "运动员"},{"ParentTagId": "0","TagScore": "0.5147973","TagLevel": "2","TagId": "133","ParentTagName": "人物","TagName": "棒球运动员"},{"ParentTagId": "10","TagScore": "0.5040618","TagLevel": "2","TagId": "453","ParentTagName": "其他","TagName": "球游戏"}],"SrcUri": "oss://co-user-cn-beijing/zqh/input/TagSet/baseball.jpg"}],"FailDetails": []
}

QRCodes检测

本示例目的是展示关键参数,其余参数具体请参考DetectQRCodes。

代码示例

from aliyunsdkimm.request.v20170906 import DetectQRCodesRequestproject = "python-sdk-demo-photo" #演示用project已创建,您需要自己创建
srcUri = '["oss://co-user-cn-beijing/zqh/input/TagSet/qrcode.png"]' #您图片资源的位置createReq = DetectQRCodesRequest.DetectQRCodesRequest()
createReq.set_Project(project)
createReq.set_SrcUris(srcUri)response = client.do_action_with_exception(createReq)print response

运行结果

{"RequestId": "21B97DEA-A3A9-4473-90E5-D527CC0F7287","SuccessDetails": [{"SrcUri": "oss://co-user-cn-beijing/zqh/input/qrcode.png","QRCodes": [{"QRCodesRectangle": {"Top": 11,"Height": 280,"Width": 280,"Left": 11},"Content": "二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。"}]}],"FailDetails": []
}

Face分组

分组需要Project为PhotoProfessional类型。

创建FaceSet

代码示例

from aliyunsdkimm.request.v20170906 import CreateFaceSetRequestproject = "python-sdk-demo-professional"  # 演示用project已创建,您需要自己创建createReq = CreateFaceSetRequest.CreateFaceSetRequest()
createReq.set_Project(project)response = client.do_action_with_exception(createReq)print response

运行结果

{"Status": "Running","Photos": 0,"RequestId": "006AF2E5-B1E9-4A8A-89F1-E4FE229C57AE","CreateTime": "2018-10-30T06:58:35.556Z","Faces": 0,"ModifyTime": "2018-10-30T06:58:35.556Z","SetId": "FACE-99a292da-32e3-49cb-aa35-e6a01604a744"
}
进行IndexFace人脸检测

本示例目的是展示关键参数,其余参数具体请参考IndexFace。

代码示例

from aliyunsdkimm.request.v20170906 import IndexFaceRequestproject = "python-sdk-demo-professional" #演示用project已创建,您需要自己创建
srcUri = '["oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp"]' #您图片资源的位置createReq = IndexFaceRequest.IndexFaceRequest()
createReq.set_Project(project)
createReq.set_SrcUris(srcUri)response = client.do_action_with_exception(createReq)print response

运行结果

{"SrcUris": ["oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp"],"RequestId": "14888AFD-E6D5-418D-B629-4E23A89C7022","SuccessDetails": [{"SrcUri": "oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp","Faces": [{"FaceAttribute": {"Blur": {"Blurness": {"Value": 12.217,"Threshold": 50}},"FaceQuality": {"Value": 100,"Threshold": 70.1},"HeadPose": {"RollAngle": 2.934,"PitchAngle": 10.529,"YawAngle": -3.145},"Age": {"Value": 21},"EyeStatus": {"RightEyeStatus": {"DarkGlasses": 0,"NoGlassEyeClose": 0.001,"Occlusion": 0.049,"NormalGlassEyeOpen": 0.106,"NormalGlassEyeClose": 0.001,"NoGlassEyeOpen": 99.842},"LeftEyeStatus": {"DarkGlasses": 0.014,"NoGlassEyeClose": 0.006,"Occlusion": 0.504,"NormalGlassEyeOpen": 4.954,"NormalGlassEyeClose": 0.004,"NoGlassEyeOpen": 94.517}},"Gender": {"Value": "Male"}},"FaceRectangle": {"Top": 17,"Height": 89,"Width": 89,"Left": 4},"FaceId": "66690675bd0bc2599170fc63e7f8dbd8"}],"PhotoId": "77f6e9ce630b83956192e8bd4af3cf39"}],"FailDetails": [],"SetId": "FACE-99a292da-32e3-49cb-aa35-e6a01604a744"
}
进行GroupFace人脸分组

分组需要多张图片,请执行两次或以上IndexFace操作。

本示例目的是展示关键参数,其余参数具体请参考GroupFace。

代码示例

from aliyunsdkimm.request.v20170906 import GroupFacesRequestproject = "python-sdk-demo-professional"
set_id = "FACE-99a292da-32e3-49cb-aa35-e6a01604a744"createReq = GroupFacesRequest.GroupFacesRequest()
createReq.set_Project(project)
createReq.set_SetId(set_id)response = client.do_action_with_exception(createReq)print response

运行结果

{"Groups": [{"UnGroupReason": "FaceNoSimilar","GroupId": "0","FaceId": "fffbf28d706c2230ba29a1b2ee271744"},{"UnGroupReason": "FaceNoSimilar","GroupId": "0","FaceId": "5c1212c756047570ffd0839386b5c2bd"},{"UnGroupReason": "FaceNoSimilar","GroupId": "0","FaceId": "66690675bd0bc2599170fc63e7f8dbd8"},{"UnGroupReason": "FaceNoSimilar","GroupId": "0","FaceId": "dadddf6bdd41d02aadc9fc4f2b54ca2b"}],"RequestId": "AC452D2A-F2B2-48AD-83B4-A6E03D38066F","HasMore": 0,"SetId": "FACE-99a292da-32e3-49cb-aa35-e6a01604a744"
}

Tag分组

分组需要Project为PhotoProfessional类型。

创建TagSet

代码示例

from aliyunsdkimm.request.v20170906 import CreateTagSetRequestproject = "python-sdk-demo-professional"  # 演示用project已创建,您需要自己创建createReq = CreateTagSetRequest.CreateTagSetRequest()
createReq.set_Project(project)response = client.do_action_with_exception(createReq)print response

运行结果

{"Status": "Running","Photos": 0,"RequestId": "FD93E872-1437-4A78-8C15-CBD83B9CE152","CreateTime": "2018-10-30T07:33:15.365Z","ModifyTime": "2018-10-30T07:33:15.365Z","SetId": "TAG-9d79cc61-0f2b-4d4d-931a-377bcc641878"
}
进行IndexTag图片检测

本示例目的是展示关键参数,其余参数具体请参考IndexTag。

代码示例

from aliyunsdkimm.request.v20170906 import IndexTagRequestproject = "python-sdk-demo-professional" #演示用project已创建,您需要自己创建
srcUri = '["oss://co-user-cn-beijing/zqh/input/FaceGroup/500/0.bmp"]' #您图片资源的位置
set_id = 'TAG-9d79cc61-0f2b-4d4d-931a-377bcc641878'createReq = IndexTagRequest.IndexTagRequest()
createReq.set_Project(project)
createReq.set_SrcUris(srcUri)
createReq.set_SetId(set_id )response = client.do_action_with_exception(createReq)print response

运行结果

{"RequestId": "F296C6E7-2213-4934-910B-0436B9F1C71F","SuccessDetails": [{"Tags": [{"ParentTagId": "11","TagScore": "0.8965469","TagLevel": "2","TagId": "0","ParentTagName": "运动","TagName": "其他"},{"ParentTagId": "10","TagScore": "0.7168899","TagLevel": "2","TagId": "655","ParentTagName": "其他","TagName": "棒球守备位置"},{"ParentTagId": "11","TagScore": "0.55166656","TagLevel": "2","TagId": "50","ParentTagName": "运动","TagName": "球赛"},{"ParentTagId": "10","TagScore": "0.53409994","TagLevel": "2","TagId": "940","ParentTagName": "其他","TagName": "场地"},{"ParentTagId": "0","TagScore": "0.5216745","TagLevel": "2","TagId": "159","ParentTagName": "人物","TagName": "比赛者"},{"ParentTagId": "0","TagScore": "0.5185509","TagLevel": "2","TagId": "65","ParentTagName": "人物","TagName": "足球运动员"},{"ParentTagId": "0","TagScore": "0.5162505","TagLevel": "2","TagId": "54","ParentTagName": "人物","TagName": "运动员"},{"ParentTagId": "0","TagScore": "0.5147973","TagLevel": "2","TagId": "133","ParentTagName": "人物","TagName": "棒球运动员"},{"ParentTagId": "10","TagScore": "0.5040618","TagLevel": "2","TagId": "453","ParentTagName": "其他","TagName": "球游戏"}],"SrcUri": "oss://co-user-cn-beijing/zqh/input/TagSet/baseball.jpg"}],"FailDetails": [],"SetId": "TAG-9d79cc61-0f2b-4d4d-931a-377bcc641878","SuccessIndexNum": "1"
}
列出数据集检测出的标签。

本示例目的是展示关键参数,其余参数具体请参考ListTagNames。

代码示例

from aliyunsdkimm.request.v20170906 import ListTagNamesRequestproject = "python-sdk-demo-professional" #演示用project已创建,您需要自己创建
set_id = 'TAG-9d79cc61-0f2b-4d4d-931a-377bcc641878'createReq = ListTagNamesRequest.ListTagNamesRequest()
createReq.set_Project(project)
createReq.set_SetId(set_id )response = client.do_action_with_exception(createReq)print response

运行结果

{"Tags": [{"Num": 1,"TagName": "场地"},{"Num": 1,"TagName": "女人"},{"Num": 1,"TagName": "晚餐"},{"Num": 1,"TagName": "棒球守备位置"},{"Num": 1,"TagName": "棒球运动员"},{"Num": 2,"TagName": "其他"},{"Num": 1,"TagName": "八宝饭"},{"Num": 1,"TagName": "午餐"},{"Num": 1,"TagName": "比赛者"},{"Num": 1,"TagName": "人"}],"RequestId": "D59C1305-F01A-46DF-8E66-22A334F43F35"
}

智能媒体管理(IMM) Python SDK DEMO相关推荐

  1. 智能媒体管理产品文档转换/预览功能介绍(4)--快速搭建

    摘要: 智能媒体管理提供了 Cloud Native 架构的文档转换/预览服务,本文介绍快速搭建的示例,让您用 DIY 的体验方式实现文档预览功能. 一.导语 智能媒体管理 提供了 Cloud Nat ...

  2. 场景化封装,一站式使用,普惠AI集成 ——阿里云发布智能媒体管理产品

    摘要: 导语 近日,阿里云发布了智能媒体管理(Intelligent Media Management)服务, 通过离线处理能力关联授权的云存储,提供便捷的海量多媒体数据一键分析,并通过该分析过程构建 ...

  3. 智能媒体管理服务控制台功能体验

    Step1: 浏览器中输入网址 console.aliyun.com Step2: 输入阿里云账号和阿里云账号密码 Step2-2: 选择不绑定手机 Step3: 进入智能媒体管理(在 存储与CDN ...

  4. 一张图看懂阿里云智能媒体管理产品

    摘要: 近日,阿里云发布了智能媒体管理(Intelligent Media Managemen)服务, 通过离线处理能力关联授权的云存储,提供便捷的海量多媒体数据一键分析,并通过该分析过程构建价值元数 ...

  5. 智能媒体管理产品文档转换/预览功能介绍(1)---Cloud Native架构

    一.导语 办公文档是每个人日常频繁使用的工具,ppt.word.xls.wps.pdf等为我们工作和生活带来了很多的便利,本文介绍在云计算和智能手机时代,基于 智能媒体管理 的新型Cloud Nati ...

  6. 阿里云IMM智能媒体文件预览

    1,导入IMM的依赖 <!--阿里云IMM需要的包--><dependency><groupId>com.aliyun</groupId><art ...

  7. python官网的sdk下载详细步骤-Python SDK

    下载地址 IMM Service 的 Python SDK 让开发人员可以非常方便地使用 Python 操作阿里云智能媒体管理服务. 已经开源到github. 操作步骤 为快速开始使用 IMM Ser ...

  8. python 智能识别 商品_阿里云货架商品识别与管理Python SDK使用示例-阿里云开发者社区...

    概述 货架商品识别与管理(Retail Image Recognition)是基于深度学习.图像检测.图像识别等技术,为新零售品牌商/经销商提供AI商品识别能力的阿里云产品:适用于货架商品识别.陈列识 ...

  9. python例程:AI智能联系人管理的程序

    目录 <AI智能联系人管理>程序使用说明 主要代码演示 代码工程下载路径 <AI智能联系人管理>程序使用说明 在PyCharm中运行<AI智能联系人管理>即可进入如 ...

最新文章

  1. 耗时一个月,整理出这份Hadoop吐血宝典
  2. K3 LEDE固件更改FRP客户端版本
  3. 一个计算机硕士毕业生的求职经验(二)
  4. redis 分布式锁 看门狗_分布式锁Redisson的使用,看门狗机制
  5. Ubuntu16.04 配置VNC
  6. js面试题:创建一个json对象people,并追加属性:姓名、性别、年龄,追加run方法...
  7. 一些技术大牛的博客集锦(转)
  8. angular2--使用JsBarcode生成条形码
  9. Ant Design Vue 菜单刷新后保持菜单选中/点击菜单,收起其他展开的所有菜单,保持菜单聚焦简洁
  10. 抖音短视频去水印网站 视频消重防删免费
  11. 惠普服务器u盘启动找不到硬盘,U盘启动找不到硬盘怎么回事?
  12. 按字寻址和按字节寻址
  13. 两步免费开通企业微信,不用提交资料
  14. 《R数据科学》学习笔记|Note5:使用dplyr进行数据转换(下)
  15. [附源码]java毕业设计网上书店系统
  16. 计算机网络——第三章 数据链路层——课后习题答案
  17. 人力资源行业拓客的10个经典方法
  18. 姿态角(Euler角):yaw pitch roll
  19. C# SQLite 数据库基本操作
  20. FFmpeg和RTMP结合编译

热门文章

  1. python冒泡循环示例_Python for循环示例
  2. 熊猫分发_熊猫cut()函数示例
  3. Java LinkedList – Java中的LinkedList
  4. Python封装的获取文件目录的函数
  5. 开课吧之Java常见面试题之RandomAccess接口
  6. linux DISPLAY变量
  7. mysql 61错误解决方法
  8. Debian 7 Wheezy 安装 VirtualBox
  9. lftp mirror 上传目录
  10. 有商在线进销存成功案例