package vision

import "cloud.google.com/go/vision/apiv1"

Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.

Index

Examples

Functions

func DefaultAuthScopes

func DefaultAuthScopes() []string

DefaultAuthScopes reports the default set of authentication scopes to use with this package.

func NewImageFromReader

func NewImageFromReader(r io.Reader) (*pb.Image, error)

NewImageFromReader reads the bytes of an image from r.

func NewImageFromURI

func NewImageFromURI(uri string) *pb.Image

NewImageFromURI returns an image that refers to an object in Google Cloud Storage (when the uri is of the form "gs://BUCKET/OBJECT") or at a public URL.

Types

type AsyncBatchAnnotateFilesOperation

type AsyncBatchAnnotateFilesOperation struct {
	// contains filtered or unexported fields
}

AsyncBatchAnnotateFilesOperation manages a long-running operation from AsyncBatchAnnotateFiles.

func (*AsyncBatchAnnotateFilesOperation) Done

Done reports whether the long-running operation has completed.

func (*AsyncBatchAnnotateFilesOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*AsyncBatchAnnotateFilesOperation) Name

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*AsyncBatchAnnotateFilesOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*AsyncBatchAnnotateFilesOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

type Chin

type Chin struct {
	Left, Center, Right *pb.Position
}

Chin represents a face's chin.

type Ears

type Ears struct {
	Left, Right *pb.Position
}

Ears represents a face's ears.

type Eye

type Eye struct {
	Left, Right, Top, Bottom, Center, Pupil *pb.Position
}

Eye represents a face's eye.

type Eyebrow

type Eyebrow struct {
	Top, Left, Right *pb.Position
}

Eyebrow represents a face's eyebrow.

type Eyebrows

type Eyebrows struct {
	Left, Right Eyebrow
}

Eyebrows represents a face's eyebrows.

type Eyes

type Eyes struct {
	Left, Right Eye
}

Eyes represents a face's eyes.

type FaceLandmarks

type FaceLandmarks struct {
	Eyebrows Eyebrows
	Eyes     Eyes
	Ears     Ears
	Nose     Nose
	Mouth    Mouth
	Chin     Chin
	Forehead *pb.Position
}

FaceLandmarks contains the positions of facial features detected by the service.

func FaceFromLandmarks

func FaceFromLandmarks(landmarks []*pb.FaceAnnotation_Landmark) *FaceLandmarks

FaceFromLandmarks converts the list of face landmarks returned by the service to a FaceLandmarks struct.

type ImageAnnotatorCallOptions

type ImageAnnotatorCallOptions struct {
	BatchAnnotateImages     []gax.CallOption
	AsyncBatchAnnotateFiles []gax.CallOption
}

ImageAnnotatorCallOptions contains the retry settings for each method of ImageAnnotatorClient.

type ImageAnnotatorClient

type ImageAnnotatorClient struct {

	// LROClient is used internally to handle longrunning operations.
	// It is exposed so that its CallOptions can be modified if required.
	// Users should not Close this client.
	LROClient *lroauto.OperationsClient

	// The call options for this service.
	CallOptions *ImageAnnotatorCallOptions
	// contains filtered or unexported fields
}

ImageAnnotatorClient is a client for interacting with Cloud Vision API.

Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

func NewImageAnnotatorClient

func NewImageAnnotatorClient(ctx context.Context, opts ...option.ClientOption) (*ImageAnnotatorClient, error)

NewImageAnnotatorClient creates a new image annotator client.

Service that performs Google Cloud Vision API detection tasks over client images, such as face, landmark, logo, label, and text detection. The ImageAnnotator service returns detected entities from the images.

Example

Code:

{
	ctx := context.Background()
	c, err := vision.NewImageAnnotatorClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use client.
	_ = c
}

func (*ImageAnnotatorClient) AnnotateImage

AnnotateImage runs image detection and annotation for a single image.

Example

Code:play 

package main

import (
	vision "cloud.google.com/go/vision/apiv1"
	"golang.org/x/net/context"

	pb "google.golang.org/genproto/googleapis/cloud/vision/v1"
)

func main() {
	ctx := context.Background()
	c, err := vision.NewImageAnnotatorClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	res, err := c.AnnotateImage(ctx, &pb.AnnotateImageRequest{
		Image: vision.NewImageFromURI("gs://my-bucket/my-image.png"),
		Features: []*pb.Feature{
			{Type: pb.Feature_LANDMARK_DETECTION, MaxResults: 5},
			{Type: pb.Feature_LABEL_DETECTION, MaxResults: 3},
		},
	})
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use res.
	_ = res
}

func (*ImageAnnotatorClient) AsyncBatchAnnotateFiles

AsyncBatchAnnotateFiles run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the google.longrunning.Operations interface. Operation.metadata contains OperationMetadata (metadata). Operation.response contains AsyncBatchAnnotateFilesResponse (results).

Example

Code:

{
	ctx := context.Background()
	c, err := vision.NewImageAnnotatorClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &visionpb.AsyncBatchAnnotateFilesRequest{
		// TODO: Fill request struct fields.
	}
	op, err := c.AsyncBatchAnnotateFiles(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*ImageAnnotatorClient) AsyncBatchAnnotateFilesOperation

func (c *ImageAnnotatorClient) AsyncBatchAnnotateFilesOperation(name string) *AsyncBatchAnnotateFilesOperation

AsyncBatchAnnotateFilesOperation returns a new AsyncBatchAnnotateFilesOperation from a given name. The name must be that of a previously created AsyncBatchAnnotateFilesOperation, possibly from a different process.

func (*ImageAnnotatorClient) BatchAnnotateImages

BatchAnnotateImages run image detection and annotation for a batch of images.

Example

Code:

{
	ctx := context.Background()
	c, err := vision.NewImageAnnotatorClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &visionpb.BatchAnnotateImagesRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.BatchAnnotateImages(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*ImageAnnotatorClient) Close

func (c *ImageAnnotatorClient) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*ImageAnnotatorClient) Connection

func (c *ImageAnnotatorClient) Connection() *grpc.ClientConn

Connection returns the client's connection to the API service.

func (*ImageAnnotatorClient) CropHints

func (c *ImageAnnotatorClient) CropHints(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.CropHintsAnnotation, error)

CropHints computes crop hints for the image.

func (*ImageAnnotatorClient) DetectDocumentText

func (c *ImageAnnotatorClient) DetectDocumentText(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.TextAnnotation, error)

DetectDocumentText performs full text (OCR) detection on the image.

func (*ImageAnnotatorClient) DetectFaces

func (c *ImageAnnotatorClient) DetectFaces(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.FaceAnnotation, error)

DetectFaces performs face detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectImageProperties

func (c *ImageAnnotatorClient) DetectImageProperties(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.ImageProperties, error)

DetectImageProperties computes properties of the image.

func (*ImageAnnotatorClient) DetectLabels

func (c *ImageAnnotatorClient) DetectLabels(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectLabels performs label detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectLandmarks

func (c *ImageAnnotatorClient) DetectLandmarks(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectLandmarks performs landmark detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectLogos

func (c *ImageAnnotatorClient) DetectLogos(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectLogos performs logo detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectSafeSearch

func (c *ImageAnnotatorClient) DetectSafeSearch(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.SafeSearchAnnotation, error)

DetectSafeSearch performs safe-search detection on the image.

func (*ImageAnnotatorClient) DetectTexts

func (c *ImageAnnotatorClient) DetectTexts(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, maxResults int, opts ...gax.CallOption) ([]*pb.EntityAnnotation, error)

DetectTexts performs text detection on the image. At most maxResults results are returned.

func (*ImageAnnotatorClient) DetectWeb

func (c *ImageAnnotatorClient) DetectWeb(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) (*pb.WebDetection, error)

DetectWeb computes a web annotation on the image.

func (*ImageAnnotatorClient) LocalizeObjects

func (c *ImageAnnotatorClient) LocalizeObjects(ctx context.Context, img *pb.Image, ictx *pb.ImageContext, opts ...gax.CallOption) ([]*pb.LocalizedObjectAnnotation, error)

LocalizeObject runs the localizer for object detection.

type Mouth

type Mouth struct {
	Left, Center, Right, UpperLip, LowerLip *pb.Position
}

Mouth represents a face's mouth.

type Nose

type Nose struct {
	Left, Right, Top, Bottom, Tip *pb.Position
}

Nose represents a face's nose.

Source Files

client.go doc.go face.go image.go image_annotator_client.go

Version
v0.30.0
Published
Oct 8, 2018
Platform
windows/amd64
Imports
17 packages
Last checked
34 minutes ago

Tools for package owners.