博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Azure 认知服务 (2) 计算机视觉API - 分析图像
阅读量:5835 次
发布时间:2019-06-18

本文共 4941 字,大约阅读时间需要 16 分钟。

  《》

  

  在上一节内容中,笔者介绍了微软认知服务的概览。

  在本节中,笔者将详细介绍微软认知服务中的一种:计算机视觉 (Computer Vision) API

 

  我的一个客户有需求,他们需要消费者与自己的产品合照,然后上传到服务器并转发到朋友圈。

  但是为了防止恶意用户上传不健康的照片,需要对图像进行筛查。

  计算机视觉API的分析图像功能,正好有Adult参数,可以检测图像是否是色情的,正好满足客户的需求。

  

  请注意:

  -  本文使用的是国内由世纪互联运维的Azure China计算机视觉服务,API参考:

    

  -  如果是使用的是海外的Azure China计算机视觉服务,API参考:

    

 

  计算机视觉解决的问题:

  1.分析图像

  检查图像中发现的视觉内容,分析是否有不健康内容。

  2.生成缩略图

  裁剪和生成缩略图

  3.读取图片中的文字

  4.识别名人

 

  关键步骤主要有:

  1.创建计算机视觉API,并获得API Key

  2.了解API参数

  3.使用API测试控制台调试API,并设置调试API的参数

 

  接下来我们进入Demo时间,在开始之前,请先准备Azure China账户

  

  第一部分:创建计算机视觉API,并获得API Key

  1.我们找到需要分析的图片URL,我这里准备了一张人脸的照片:

  2.我们登录Azure China管理界面:

  3.点击下图的认知服务账户

  

  4.点击 创建认知服务账户。如下图:

  

  5.定价层,我们选择免费。因为是Demo环境,我们就用免费,如果是生产环境建议选择标准。

  

  6.创建完认知服务以后,我们点击密钥,获得访问这个计算机视觉API的Access Key。请保留好这个Key,下面还要继续使用。

 

  第二部分:了解API参数

  1.Request URL: https://api.cognitive.azure.cn/vision/v1.0/analyze[?visualFeatures][&details][&language]

  2.Request参数

  (1)visualFeatures参数

    我们可以设置visualFeatures为:

    A.Categories:对图像内容进行分类

    B.Tags:对图像进行标记

    C.Description:用完整的英文句子描述图像内容

    D.Faces:检测脸部是否存在。 如果存在,生成坐标,性别和年龄

    E.ImageType:检测图像是剪贴还是直线绘图

    F.Color:确定重音颜色,主色,以及图像是否为黑白

    G.Adult:检测图像是否是色情的(描绘裸露或性行为)。 还会检测到性暗示内容。

  (2)details:

    如果设置Celebrities,则可以识别名人

  (3)language:

    默认是en,英文

    可以设置为zh,简体中文

  3.Request headers

  (1)Content-Type

  (2)Ocp-Apim-Subscription-Key:上面的API Access Key

  4.Request body

  (1)支持的图像为JPEG, PNG, GIF和BMP

  (2)图像的尺寸必须小于4MB

  (3)图像的分辨率至少为50 X 50

 

 

  第三部分:使用API测试控制台调试API,并设置调试API的参数

  我们拿到上面的API Key,就可以写代码开发了。不过Azure认知服务提供了非常好的控制台,可以方便我们进行API调试

  1.我们点击:,选择打开API测试控制台

  2.在API控制台,修改以下内容:

  Query Parameters

  (1)visualFeatures,我们输入:Categories,Tags,Description,Faces,ImageType,Color,Adult

  这样识别多个元素。

  (2)details,我们不输入信息

  (3)language,使用默认的en

  

  Headers:

  (1)Content-Type,我们使用默认值

  (2)Ocp-Apim-Subscription-Key,我们输入步骤一的API Access Key

  

  Request body:

  (1)我们修改为:{"url":"https://leizhangstorage.blob.core.chinacloudapi.cn/azureblog/analyzeimagesample.jpg"}

 

  所有参数的修改内容如下图:

  

 

  Request URL为:

 

  然后我们点击API测试控制台的Send。显示识别结果。

  下面的结果我就不一一说明了,主要的显示结果有:

  1.faces,识别出图像中的人脸坐标,性别和年龄

  2.adultScore,识别出检测图像是否是色情的,分数越高,则图像色情的可能性越大

Pragma: no-cacheapim-request-id: 8a9e6b8c-3a20-42a0-91e0-52d6fbdc5f9eStrict-Transport-Security: max-age=31536000; includeSubDomains; preloadx-content-type-options: nosniffCache-Control: no-cacheDate: Thu, 15 Jun 2017 09:06:16 GMTX-AspNet-Version: 4.0.30319X-Powered-By: ASP.NETContent-Length: 1595Content-Type: application/json; charset=utf-8Expires: -1{  "categories": [    {      "name": "people_group",      "score": 0.9765625    }  ],  "adult": {    "isAdultContent": false,    "isRacyContent": false,    "adultScore": 0.01091344840824604,    "racyScore": 0.055492393672466278  },  "tags": [    {      "name": "outdoor",      "confidence": 0.99716836214065552    },    {      "name": "person",      "confidence": 0.99493598937988281    },    {      "name": "posing",      "confidence": 0.95204299688339233    },    {      "name": "group",      "confidence": 0.82954329252243042    },    {      "name": "people",      "confidence": 0.583439290523529    },    {      "name": "crowd",      "confidence": 0.019400959834456444    }  ],  "description": {    "tags": [      "outdoor",      "person",      "posing",      "photo",      "grass",      "group",      "standing",      "people",      "man",      "woman",      "young",      "holding",      "dress",      "white",      "court"    ],    "captions": [      {        "text": "a group of people posing for a picture",        "confidence": 0.94583615520612      }    ]  },  "requestId": "8a9e6b8c-3a20-42a0-91e0-52d6fbdc5f9e",  "metadata": {    "width": 600,    "height": 463,    "format": "Jpeg"  },  "faces": [    {      "age": 42,      "gender": "Male",      "faceRectangle": {        "left": 117,        "top": 159,        "width": 95,        "height": 95      }    },    {      "age": 54,      "gender": "Male",      "faceRectangle": {        "left": 490,        "top": 111,        "width": 90,        "height": 90      }    },    {      "age": 61,      "gender": "Female",      "faceRectangle": {        "left": 17,        "top": 153,        "width": 85,        "height": 85      }    },    {      "age": 33,      "gender": "Female",      "faceRectangle": {        "left": 386,        "top": 166,        "width": 81,        "height": 81      }    },    {      "age": 15,      "gender": "Female",      "faceRectangle": {        "left": 235,        "top": 159,        "width": 77,        "height": 77      }    },    {      "age": 6,      "gender": "Female",      "faceRectangle": {        "left": 323,        "top": 163,        "width": 67,        "height": 67      }    }  ],  "color": {    "dominantColorForeground": "White",    "dominantColorBackground": "White",    "dominantColors": [      "White",      "Brown"    ],    "accentColor": "4E5D1A",    "isBWImg": false  },  "imageType": {    "clipArtType": 0,    "lineDrawingType": 0  }}

 

  

转载地址:http://ktucx.baihongyu.com/

你可能感兴趣的文章
选择排序
查看>>
SQL Server 数据库的数据和日志空间信息
查看>>
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
我的友情链接
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>
【C#】protected 变量类型
查看>>
Ubuntu解压
查看>>
爬虫_房多多(设置随机数反爬)
查看>>
藏地密码
查看>>
爬虫去重(只是讲了去重的策略,没有具体讲实现过程,反正就是云里雾里)...
查看>>
react中将px转化为rem或者vw
查看>>