• Documentation
  • Pricing
  • Training Explore free online learning resources from videos to hands-on-labs
  • Blog Read the latest posts from the Azure team
  • Free account

    Computer Vision

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

    Analyze 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 location of thousands of objects within an image. Apply the adult/racy settings to help you detect potential adult content. Identify image types and color schemes in pictures.

    See it in action

    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.995543063 }, { "name": "station", "confidence": 0.9798007 }, { "name": "indoor", "confidence": 0.9277198 }, { "name": "subway", "confidence": 0.838939548 }, { "name": "clothing", "confidence": 0.504376 }, { "name": "pulling", "confidence": 0.4317156 } ]
    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.8330993 } ] }
    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 color background
    "Black"
    Dominant color foreground
    "Black"
    Accent Color
    #484C83

    Want to build this?

    Read text in images

    Detect text in an image using optical character recognition (OCR) and extract the recognized words into a machine-readable character stream. Analyze images to detect embedded text, generate character streams, and enable searching. Save time and effort by taking photos of text instead of copying it.

    Get started with the OCR service in general availability, and discover below a sneak peek of the new preview OCR engine (through "Recognize Text" API operation) with even better text recognition results for English.

    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,
      "recognitionResult": {
        "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?

    Preview: Read handwritten text from images

    Detect and extract handwritten text from notes, letters, essays, whiteboards, forms, and other sources. Reduce paper clutter and be more productive by taking photos of handwritten notes instead of transcribing them, and make the digital notes easy to find by implementing search. Handwritten OCR works with different surfaces and backgrounds, such as white paper, yellow sticky notes, and whiteboards.

    Note: This technology is currently in preview and is only available for English text.

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

    See it in action

    1. Preview
    2. JSON

    OUR greatest glory is not

    in never failing

    but in rising every time we fall

    {
      "status": "Succeeded",
      "succeeded": true,
      "failed": false,
      "finished": true,
      "recognitionResult": {
        "lines": [
          {
            "boundingBox": [
              62,
              199,
              673,
              204,
              672,
              257,
              62,
              253
            ],
            "text": "OUR greatest glory is not",
            "words": [
              {
                "boundingBox": [
                  66,
                  200,
                  168,
                  202,
                  167,
                  254,
                  66,
                  254
                ],
                "text": "OUR"
              },
              {
                "boundingBox": [
                  196,
                  202,
                  360,
                  204,
                  360,
                  255,
                  195,
                  255
                ],
                "text": "greatest"
              },
              {
                "boundingBox": [
                  395,
                  205,
                  510,
                  206,
                  510,
                  255,
                  394,
                  255
                ],
                "text": "glory"
              },
              {
                "boundingBox": [
                  545,
                  206,
                  598,
                  207,
                  597,
                  255,
                  545,
                  255
                ],
                "text": "is"
              },
              {
                "boundingBox": [
                  608,
                  207,
                  671,
                  208,
                  671,
                  254,
                  608,
                  255
                ],
                "text": "not"
              }
            ]
          },
          {
            "boundingBox": [
              520,
              305,
              873,
              300,
              874,
              358,
              521,
              362
            ],
            "text": "in never failing",
            "words": [
              {
                "boundingBox": [
                  524,
                  315,
                  561,
                  313,
                  562,
                  354,
                  526,
                  353
                ],
                "text": "in"
              },
              {
                "boundingBox": [
                  600,
                  311,
                  701,
                  306,
                  703,
                  357,
                  602,
                  355
                ],
                "text": "never"
              },
              {
                "boundingBox": [
                  733,
                  305,
                  871,
                  301,
                  872,
                  359,
                  735,
                  358
                ],
                "text": "failing"
              }
            ]
          },
          {
            "boundingBox": [
              133,
              412,
              971,
              407,
              972,
              461,
              134,
              467
            ],
            "text": "but in rising every time we fall",
            "words": [
              {
                "boundingBox": [
                  137,
                  416,
                  214,
                  417,
                  216,
                  461,
                  139,
                  458
                ],
                "text": "but"
              },
              {
                "boundingBox": [
                  228,
                  418,
                  272,
                  418,
                  274,
                  462,
                  230,
                  461
                ],
                "text": "in"
              },
              {
                "boundingBox": [
                  308,
                  419,
                  424,
                  419,
                  425,
                  464,
                  309,
                  463
                ],
                "text": "rising"
              },
              {
                "boundingBox": [
                  474,
                  419,
                  579,
                  418,
                  580,
                  464,
                  475,
                  465
                ],
                "text": "every"
              },
              {
                "boundingBox": [
                  623,
                  417,
                  720,
                  415,
                  720,
                  463,
                  624,
                  464
                ],
                "text": "time"
              },
              {
                "boundingBox": [
                  767,
                  414,
                  828,
                  412,
                  828,
                  460,
                  767,
                  462
                ],
                "text": "we"
              },
              {
                "boundingBox": [
                  877,
                  411,
                  971,
                  407,
                  971,
                  455,
                  877,
                  459
                ],
                "text": "fall"
              }
            ]
          }
        ]
      }
    }

    Want to build this?

    Recognize celebrities and landmarks

    Recognize 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.99956613779067993
        },
        {
          "name": "suit",
          "confidence": 0.98934584856033325
        },
        {
          "name": "man",
          "confidence": 0.98844343423843384
        },
        {
          "name": "tie",
          "confidence": 0.95905411243438721
        },
        {
          "name": "human face",
          "confidence": 0.95430314540863037
        },
        {
          "name": "clothing",
          "confidence": 0.86057531833648682
        },
        {
          "name": "smile",
          "confidence": 0.8601078987121582
        },
        {
          "name": "outdoor",
          "confidence": 0.860062301158905
        },
        {
          "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.99032750982666984
          }
        ]
      },
      "requestId": "e074f5b1-4144-4c67-8e32-028f8dde0fcd",
      "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?

    Analyze video in near real-time

    Analyze 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 faster.

    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, analyze, organize, and tag faces in photos

    Ink Recognizer PREVIEW

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

    Video Indexer

    Unlock video insights

    Custom Vision

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

    Form Recognizer 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

    Bing Spell Check

    Detect and correct spelling mistakes in your app

    QnA Maker

    Distill information into conversational, easy-to-navigate answers

    Content Moderator

    Automated image, text, and video moderation

    Language Understanding

    Teach your apps to understand commands from your users

    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