Sample code for 30+ languages & platforms
DataFlex

Google Vision Web Detection

See more Google Vision Examples

Demonstrates how to use the Cloud Cloud Vision API for the Web Detection method.

The Google Cloud Vision "web detection" API call performs web detection analysis on an image. When you send an image to the Vision API with the "web detection" feature enabled, the API returns information about web entities (objects, logos, landmarks, etc.) that are visually similar to objects in the image and are found on the web.

It includes:

  • Entity Recognition: The API identifies entities (objects, landmarks, logos, etc.) present in the image and provides information about them. This can include labels, descriptions, and additional metadata.
  • Web Pages: For recognized entities, the API retrieves information about web pages that contain visually similar images or information related to the entities found in the image.
  • Matching Images: The API may return URLs of images found on the web that are visually similar to the objects in the image being analyzed.
  • Best Guess Label: The API may also provide a "best guess" label or description for the image based on its analysis of the web entities.
  • Related Web Entities: Additionally, the API may return related web entities or concepts that are semantically related to the recognized objects.
    • Overall, the web detection feature of the Google Cloud Vision API allows you to perform reverse image search-like functionality, identifying objects in an image and providing information about similar objects found on the web. This can be useful for tasks such as image classification, content moderation, and visual search applications.

      Chilkat DataFlex Downloads

      DataFlex
      Use ChilkatAx-win32.pkg
      
      Procedure Test
          Boolean iSuccess
          Handle hoHttp
          Variant vJson
          Handle hoJson
          Variant vResp
          Handle hoResp
          Variant vJResp
          Handle hoJResp
          Integer iRespStatusCode
          String sTemp1
      
          Move False To iSuccess
      
          // This example assumes the Chilkat API to have been previously unlocked.
          // See Global Unlock Sample for sample code.
      
          Get Create (RefClass(cComChilkatHttp)) To hoHttp
          If (Not(IsComObjectCreated(hoHttp))) Begin
              Send CreateComObject of hoHttp
          End
      
          // The following JSON is sent in the request body.
      
          // {
          //   "requests": [
          //     {
          //       "image": {
          //         "source": {
          //           "imageUri": "gs://visionapi-demo/ali.jpg"
          //         }
          //       },
          //       "features": [
          //         {
          //           "maxResults": 10,
          //           "type": "WEB_DETECTION"
          //         }
          //       ]
          //     }
          //   ]
          // }
      
          // The following code creates the JSON request body.
          Get Create (RefClass(cComChilkatJsonObject)) To hoJson
          If (Not(IsComObjectCreated(hoJson))) Begin
              Send CreateComObject of hoJson
          End
          Get ComUpdateString Of hoJson "requests[0].image.source.imageUri" "gs://visionapi-demo/ali.jpg" To iSuccess
          Get ComUpdateInt Of hoJson "requests[0].features[0].maxResults" 10 To iSuccess
          Get ComUpdateString Of hoJson "requests[0].features[0].type" "WEB_DETECTION" To iSuccess
      
          Set ComEmitCompact Of hoJson To False
          Get ComEmit Of hoJson To sTemp1
          Showln sTemp1
      
          Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
          If (Not(IsComObjectCreated(hoResp))) Begin
              Send CreateComObject of hoResp
          End
          Get pvComObject of hoJson to vJson
          Get pvComObject of hoResp to vResp
          Get ComHttpJson Of hoHttp "POST" "https://vision.googleapis.com/v1/images:annotate?key=your-api-key-here" vJson "application/json" vResp To iSuccess
          If (iSuccess = False) Begin
              Get ComLastErrorText Of hoHttp To sTemp1
              Showln sTemp1
              Procedure_Return
          End
      
          Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
          If (Not(IsComObjectCreated(hoJResp))) Begin
              Send CreateComObject of hoJResp
          End
          Get pvComObject of hoJResp to vJResp
          Get ComGetBodyJson Of hoResp vJResp To iSuccess
          Set ComEmitCompact Of hoJResp To False
      
          Showln "Response Body:"
          Get ComEmit Of hoJResp To sTemp1
          Showln sTemp1
      
          Get ComStatusCode Of hoResp To iRespStatusCode
          Showln "Response Status Code = " iRespStatusCode
          If (iRespStatusCode >= 400) Begin
              Showln "Response Header:"
              Get ComHeader Of hoResp To sTemp1
              Showln sTemp1
              Showln "Failed."
              Procedure_Return
          End
      
      
      
      End_Procedure