| Type: | Package | 
| Title: | An Interface for Image Recognition | 
| Version: | 0.1.4 | 
| Date: | 2024-06-21 | 
| URL: | https://github.com/cschwem2er/imgrec | 
| BugReports: | https://github.com/cschwem2er/imgrec/issues | 
| Description: | Provides an interface for image recognition using the 'Google Vision API' https://cloud.google.com/vision/ . Converts API data for features such as object detection and optical character recognition to data frames. The package also includes functions for analyzing image annotations. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| Imports: | knitr (≥ 1.4.7), base64enc (≥ 0.1-0), dplyr (≥ 1.1.0), httr (≥ 1.4.0), jsonlite (≥ 1.8.0), rlang (≥ 1.1.0), methods | 
| Suggests: | magick (≥ 2.8.0), ggplot2 (≥ 3.5.0), usethis (≥ 2.2.0), pillar (≥ 1.6.0), rmarkdown (≥ 2.2) | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2024-06-21 12:04:06 UTC; kasus | 
| Author: | Carsten Schwemmer  | 
| Maintainer: | Carsten Schwemmer <c.schwem2er@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-06-21 12:20:05 UTC | 
get image annotations
Description
Calls the 'Google Vision' API to return annotations. The function automatically creates batches
Usage
get_annotations(images, features, max_res, mode)
Arguments
images | 
 A character vector for images to be annotated. Can either be url strings or local images, as specified with   | 
features | 
 A character vector for the features to be returned. Accepts   | 
max_res | 
 An integer specifying the maximum number of results to be returned for each feature.  | 
mode | 
 Accepts   | 
Value
An response object of class 'gvision_annotations'.
See Also
Google Vision features and quotas.
Examples
## Not run: 
 gvision_init()
 # one image url
 sw_image <- 'https://upload.wikimedia.org/wikipedia/en/4/40/Star_Wars_Phantom_Menace_poster.jpg'
 results <- get_annotations(images = sw_image, # image character vector
                           features = 'all', # request all available features
                           max_res = 10, # maximum number of results per feature
                           mode = 'url')  # maximum number of results per feature
 # multiple image urls
 finn_image <- 'https://upload.wikimedia.org/wikipedia/en/2/2a/Finn-Force_Awakens_%282015%29.png'
 padme_image <- 'https://upload.wikimedia.org/wikipedia/en/e/ee/Amidala.png'
 input_imgs <- c(sw_image, finn_image, padme_image)
 results <- get_annotations(images = input_imgs,
            features = c('label', 'face'), max_res = 5, mode = 'url')
            
 # one local image
 temp_img_path <- tempfile(fileext = '.png')
 download.file(finn_image, temp_img_path, mode = 'wb', quiet = TRUE)
 results <- get_annotations(images = temp_img_path,
            features = c('label', 'face'), max_res = 5, mode = 'local')
 
## End(Not run)
authorization for Google Vision
Description
Initializes the authorization credentials for the 'Google Vision' API.
Needs to be called before using any other functions of imgrec and requires gvision_key as environment variable.
Usage
gvision_init()
Value
nothing.
Examples
## Not run: 
Sys.setenv(gvision_key = "Your Google Vision API key")
gvision_init()
## End(Not run)
parse image annotations
Description
Parses the annotations and converts most of the features to data frames. Also stores the corresponding image identifiers for each feature as 'img_id'
Usage
parse_annotations(annotations)
Arguments
annotations | 
 An annotation object created with   | 
Value
A list containing data frames for each feature:
- labels
 label annotations
- web_labels
 web label annotations
- web_similar
 similar web images
- web_match_partial
 partial matching web images
- web_match_full
 full matching web images
- web_match_pages
 matching web pages
- faces
 face annotations
- objects
 object annotations
- logos
 logo annotations
- landmarks
 landmark annotations
- full_text
 full text annotation
- safe_serarch
 safe search annotation
- colors
 dominant color annotations
- crop_hints
 crop hints for ratios 0.8/1.0/1.2
Examples
## Not run: 
# initialize api credentials
gvision_init()
# annotate images
finn_image <- 'https://upload.wikimedia.org/wikipedia/en/2/2a/Finn-Force_Awakens_%282015%29.png'
sw_image <- 'https://upload.wikimedia.org/wikipedia/en/8/82/Leiadeathstar.jpg'
padme_image <- 'https://upload.wikimedia.org/wikipedia/en/e/ee/Amidala.png'
results <- get_annotations(images = c(finn_image, sw_image, padme_image),
                           features = 'all', max_res = 10, mode = 'url')
# parse annotations
img_data <- parse_annotations(results)
# available feature data frames
names(img_data)
  
## End(Not run)
  
save annotation data as JSON
Description
Writes raw JSON data as returned by the Google Vision API to a UTF-8 encoded local file.
Usage
save_json(annotations, file)
Arguments
annotations | 
 An annotation object created with   | 
file | 
 Local path where the JSON data should be stored.  | 
Value
nothing.
Examples
## Not run: 
 gvision_init()
 finn_image <- 'https://upload.wikimedia.org/wikipedia/en/2/2a/Finn-Force_Awakens_%282015%29.png'
 results <- get_annotations(images = finn_image, features = 'all',
                            max_res = 10, mode = 'url')
 temp_file_path <- tempfile(fileext = '.json')
 save_json(results, temp_file_path)
  
## End(Not run)