ImageEn, unit iexGoogleApi

TIEGoogleVision.WebDetection

TIEGoogleVision.WebDetection


Declaration

property WebDetection: TIEGWebDetection;


Description

Returns the result array for Web Entities and Pages (from a iegrWebDetection request).
WEB_DETECTION detects references and related web information for an image, including:
 Best guess label: A best guess as to the topic of the requested image inferred from similar images on the Internet
 Inferred entities (labels/descriptions) from similar images on the Web
 Full matching images: A list of URLs for fully matching images of any size on the Internet
 Partial matching images: A list of URLs for images that share key-point features, such as a cropped version of the original image
 Pages with matching images: A list of Webpages with an image that matches one of the above rules
 Visually similar images: A list of URLs for images that share some features with the original image

  

More Information: cloud.google.com/vision/docs/features-list


Example

Cursor := crHourglass;
lblSubmitting.Visible := True;
GVision := TIEGoogleVision.Create( MY_API_KEY );
try
  // Use recommended delivery size (for faster processing)
  GVision.SendImageWidth  := 640;
  GVision.SendImageHeight := 480;

  GVision.RequestTypes := [iegrWebDetection, iegrSafeSearchDetection, iegrLandmarkDetection];
  GVision.ProcessImage( edtFilename.Text );

  lbxResults.Clear();

  if Length( GVision.WebDetection.bestGuessLabels ) > 0 then
  lbxResults.Items.Add( 'This image is likely to be: ' + GVision.WebDetection.bestGuessLabels[0].webLabel );

  if GVision.HasLandmarkAnnotations then
  begin
    lbxResults.Items.Add( 'This image is the landmark: ' + GVision.LandmarkAnnotations[0].description );
    lbxResults.Items.Add( 'Latitude: '  + LatLongToStr( GVision.LandmarkAnnotations[0].latitude, True ));
    lbxResults.Items.Add( 'Longitude: ' + LatLongToStr( GVision.LandmarkAnnotations[0].longitude, False ));
  end;

  lbxResults.Items.Add( format( 'Found %d matching images on the web', [ GVision.WebDetection.fullMatchingImages.Count ]));
  lbxResults.Items.AddStrings( GVision.WebDetection.fullMatchingImages );

  lbxResults.Items.Add( format( 'Found %d pages on the web containing this image', [ GVision.WebDetection.pagesWithMatchingImages.Count ]));
  lbxResults.Items.AddStrings( GVision.WebDetection.pagesWithMatchingImages );

  if GVision.SafeSearchAnnotation.adult in [ieglLikely, ieglVeryLikely] then
  lbxResults.Items.Add( 'Likely to be an ADULT image' );

  if GVision.SafeSearchAnnotation.violence in [ieglLikely, ieglVeryLikely] then
  lbxResults.Items.Add( 'Likely to be an VIOLENT image' );

  if GVision.SafeSearchAnnotation.violence in [ieglLikely, ieglVeryLikely] then
  lbxResults.Items.Add( 'Likely to be an VIOLENT image' );
finally
  Cursor := crDefault;
  lblSubmitting.Visible := False;
  GVision.Free;
end;