RoogleVision released – a Package for Image Recognition

[This article was first published on Florian Teschner, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

First to the naming; it basically is an arbitrary condensation of “R + Google Cloud Vision API”. I wonder why google chooses to mix google with vision. In my opinion it sounds pretty much like “to goggle with vision”, which makes limited sense. For the functionality; the package enables convenient Image Recognition, Object Detection, and OCR using the Google’s Cloud Vision API. More precisely the user can pick between the following image recognition modes: FACE_DETECTION, LANDMARK_DETECTION, LOGO_DETECTION, LABEL_DETECTION, TEXT_DETECTION. Without further undo, here is how you get started:



Get API Keys

  • Visit Google’s developer console
  • sign in
  • create a project, enable billing and enable ‘Google Cloud Vision API’
  • go to credentials, create an OAuth 2.0 client ID; copy client_id and client_secret from JSON file.



### plugin your credentials
options("googleAuthR.client_id" = "")
options("googleAuthR.client_secret" = "")

## use the fantastic Google Auth R package
### define scope!
options("googleAuthR.scopes.selected" = c(""))

#Basic: you can provide both, local as well as online images:
o <- getGoogleVisionResponse("brandlogos.png")
o <- getGoogleVisionResponse(imagePath="brandlogos.png", feature="LOGO_DETECTION", numResults=4)
getGoogleVisionResponse("", feature="LANDMARK_DETECTION")

# with the parameter 'feature' you can define which type of analysis you want. Results differ by feature-type.
# The default is set to 'LABEL_DETECTION' but you can choose one out of: 

Previously, I created a R/shiny demo and blog posts 1 and 2 detailing some of the output.

To give you a final example; this is return of the LANDMARK_DETECTION-call. Notre Dame

description score
Notre Dame de Paris 0.9245162
Paris 0.8143099

To leave a comment for the author, please follow the link and comment on their blog: Florian Teschner. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)