Computer Vision

Extract rich information from images to categorise and process visual data – and perform machine-assisted moderation of images to help curate your services.

Analyse an image

This feature returns information about visual content found in an image. Use tagging, domain-specific models and descriptions in four languages to identify content and label it with confidence. Use object detection to get the location of thousands of objects within an image. Apply the adult/racy settings to help you detect potential adult content. Identify image types and colour schemes in pictures.

See it in action

person
person
subway train
Feature name: Value
Objects [ { "rectangle": { "x": 93, "y": 178, "w": 115, "h": 237 }, "object": "person", "confidence": 0.764 }, { "rectangle": { "x": 0, "y": 229, "w": 101, "h": 206 }, "object": "person", "confidence": 0.624 }, { "rectangle": { "x": 161, "y": 31, "w": 439, "h": 423 }, "object": "subway train", "parent": { "object": "train", "parent": { "object": "Land vehicle", "parent": { "object": "Vehicle", "confidence": 0.926 }, "confidence": 0.923 }, "confidence": 0.917 }, "confidence": 0.801 } ]
Tags [ { "name": "train", "confidence": 0.9975446 }, { "name": "platform", "confidence": 0.9955431 }, { "name": "station", "confidence": 0.979800761 }, { "name": "indoor", "confidence": 0.9277198 }, { "name": "subway", "confidence": 0.8389395 }, { "name": "clothing", "confidence": 0.5043765 }, { "name": "pulling", "confidence": 0.4317162 } ]
Description { "tags": [ "train", "platform", "station", "building", "indoor", "subway", "track", "walking", "waiting", "pulling", "board", "people", "man", "luggage", "standing", "holding", "large", "woman", "yellow", "suitcase" ], "captions": [ { "text": "people waiting at a train station", "confidence": 0.8330992 } ] }
Image format "Jpeg"
Image dimensions 462 x 600
Clip art type 0
Line drawing type 0
Black and white false
Adult content false
Adult score 0.009112834
Racy false
Racy score 0.0143244695
Categories [ { "name": "trans_trainstation", "score": 0.98828125 } ]
Faces []
Dominant colour background
"Black"
Dominant colour foreground
"Black"
Accent colour
#484C83

Want to build this?

Now generally available: Read both printed and handwritten text in images

Use state-of-the-art optical character recognition (OCR) in the Read operation to detect embedded printed and handwritten text, extract recognised words into machine-readable character streams and enable searching. Save time and effort by photographing text instead of copying it.

See it in action

  1. Preview
  2. JSON

Sorry!

Have a

Oops!

nice day !

See you soon !

Bye !

{
  "status": "Succeeded",
  "succeeded": true,
  "failed": false,
  "finished": true,
  "recognitionResults": [
    {
      "page": 1,
      "clockwiseOrientation": 353.71,
      "width": 1138,
      "height": 825,
      "unit": "pixel",
      "lines": [
        {
          "boundingBox": [
            124,
            126,
            399,
            90,
            407,
            199,
            140,
            229
          ],
          "text": "Sorry!",
          "words": [
            {
              "boundingBox": [
                137,
                121,
                397,
                89,
                410,
                198,
                150,
                229
              ],
              "text": "Sorry!"
            }
          ]
        },
        {
          "boundingBox": [
            591,
            173,
            908,
            124,
            921,
            207,
            604,
            256
          ],
          "text": "Have a",
          "words": [
            {
              "boundingBox": [
                598,
                173,
                812,
                140,
                824,
                224,
                610,
                256
              ],
              "text": "Have"
            },
            {
              "boundingBox": [
                834,
                136,
                894,
                127,
                906,
                212,
                846,
                221
              ],
              "text": "a"
            }
          ]
        },
        {
          "boundingBox": [
            199,
            379,
            424,
            365,
            423,
            476,
            209,
            488
          ],
          "text": "Oops!",
          "words": [
            {
              "boundingBox": [
                205,
                377,
                420,
                364,
                426,
                475,
                212,
                488
              ],
              "text": "Oops!"
            }
          ]
        },
        {
          "boundingBox": [
            583,
            267,
            973,
            224,
            982,
            305,
            592,
            348
          ],
          "text": "nice day !",
          "words": [
            {
              "boundingBox": [
                584,
                271,
                762,
                251,
                771,
                330,
                593,
                344
              ],
              "text": "nice"
            },
            {
              "boundingBox": [
                810,
                245,
                940,
                229,
                949,
                310,
                819,
                325
              ],
              "text": "day"
            },
            {
              "boundingBox": [
                954,
                227,
                973,
                225,
                982,
                306,
                963,
                308
              ],
              "text": "!"
            }
          ]
        },
        {
          "boundingBox": [
            166,
            628,
            662,
            599,
            667,
            683,
            170,
            712
          ],
          "text": "See you soon !",
          "words": [
            {
              "boundingBox": [
                172,
                628,
                295,
                624,
                300,
                704,
                178,
                712
              ],
              "text": "See"
            },
            {
              "boundingBox": [
                312,
                623,
                446,
                618,
                449,
                692,
                316,
                702
              ],
              "text": "you"
            },
            {
              "boundingBox": [
                463,
                617,
                620,
                611,
                620,
                680,
                465,
                691
              ],
              "text": "soon"
            },
            {
              "boundingBox": [
                636,
                610,
                659,
                609,
                658,
                677,
                636,
                679
              ],
              "text": "!"
            }
          ]
        },
        {
          "boundingBox": [
            824,
            498,
            1003,
            489,
            1014,
            594,
            834,
            607
          ],
          "text": "Bye !",
          "words": [
            {
              "boundingBox": [
                830,
                497,
                961,
                489,
                967,
                598,
                837,
                606
              ],
              "text": "Bye"
            },
            {
              "boundingBox": [
                982,
                488,
                1004,
                486,
                1011,
                595,
                989,
                597
              ],
              "text": "!"
            }
          ]
        }
      ]
    }
  ]
}

Demo results are for illustrative purposes only - due to minor image manipulations applied, actual API results may differ.

Want to build this?

Recognise celebrities and landmarks

Recognise more than 1,000,000 celebrities from business, politics, sports and entertainment, as well as 9,000 natural and manmade landmarks from around the world.

See it in action

{
  "categories": [
    {
      "name": "people_",
      "score": 0.86328125,
      "detail": {
        "celebrities": [
          {
            "name": "Satya Nadella",
            "faceRectangle": {
              "left": 240,
              "top": 294,
              "width": 135,
              "height": 135
            },
            "confidence": 0.99984323978424072
          }
        ],
        "landmarks": null
      }
    }
  ],
  "adult": null,
  "tags": [
    {
      "name": "person",
      "confidence": 0.99956607818603516
    },
    {
      "name": "suit",
      "confidence": 0.98934578895568848
    },
    {
      "name": "man",
      "confidence": 0.98844337463378906
    },
    {
      "name": "tie",
      "confidence": 0.959053635597229
    },
    {
      "name": "human face",
      "confidence": 0.95430314540863037
    },
    {
      "name": "clothing",
      "confidence": 0.860575795173645
    },
    {
      "name": "smile",
      "confidence": 0.8601078987121582
    },
    {
      "name": "outdoor",
      "confidence": 0.86006265878677368
    },
    {
      "name": "glasses",
      "confidence": 0.68438893556594849
    }
  ],
  "description": {
    "tags": [
      "person",
      "suit",
      "man",
      "necktie",
      "outdoor",
      "building",
      "clothing",
      "standing",
      "wearing",
      "business",
      "looking",
      "holding",
      "black",
      "front",
      "hand",
      "dressed",
      "phone",
      "field"
    ],
    "captions": [
      {
        "text": "Satya Nadella wearing a suit and tie",
        "confidence": 0.99032749706305134
      }
    ]
  },
  "requestId": "c8b0b76b-aed9-460c-ad07-8508221826d6",
  "metadata": {
    "width": 600,
    "height": 900,
    "format": "Jpeg"
  },
  "faces": [
    {
      "age": 49,
      "gender": "Male",
      "faceRectangle": {
        "left": 240,
        "top": 294,
        "width": 135,
        "height": 135
      }
    }
  ],
  "color": {
    "dominantColorForeground": "Black",
    "dominantColorBackground": "Black",
    "dominantColors": [
      "Black",
      "Grey"
    ],
    "accentColor": "7B5E50",
    "isBWImg": false
  },
  "imageType": {
    "clipArtType": 0,
    "lineDrawingType": 0
  }
}

Want to build this?

Analyse video in near real-time

Analyse video in near real time. Use any of the Computer Vision APIs with you video files by extracting frames of the video from your device and then sending those frames to the API calls of your choice. Get results from your videos more quickly.

Use our sample on GitHub to get started and build your own app.

Learn more

See it in action

Want to build this?

Generate a thumbnail

Generate a high-quality storage-efficient thumbnail based on any image, and modify images to best suit your needs for size, shape and style. Apply smart cropping to generate thumbnails that differ from the aspect ratio of your original image, yet preserve the region of interest.

See it in action

Want to build this?

Explore the Cognitive Services APIs

Computer Vision

Distill actionable information from images

Face

Detect, identify, analyse, organise and tag faces in photos

Ink Recogniser PREVIEW

An AI service that recognises digital ink content, such as handwriting, shapes and ink document layout

Video Indexer

Unlock video insights

Custom Vision

Easily customise your own state-of-the-art computer vision models for your unique use case

Form Recogniser PREVIEW

The AI-powered document extraction service that understands your forms

Text Analytics

Easily evaluate sentiment and topics to understand what users want

Translator Text

Easily conduct machine translation with a simple REST API call

QnA Maker

Distill information into conversational, easy-to-navigate answers

Language Understanding

Teach your apps to understand commands from your users

Immersive Reader PREVIEW

Empower users of all ages and abilities to read and comprehend text

Speech services

Unified speech services for speech-to-text, text-to-speech and speech translation

Speaker Recognition PREVIEW

Use speech to identify and verify individual speakers

Content moderator

Automated image, text and video moderation

Anomaly detector PREVIEW

Easily add anomaly detection capabilities to your apps.

Personaliser PREVIEW

An AI service that delivers a personalised user experience

Ready to supercharge your app?