使用purr和RoogleVision的整洁方式可以实现批量调用Google Vision API。purr是R语言的一个包,用于简化HTTP请求的发送和处理。而RoogleVision是基于purr开发的一个R语言包,专门用于与Google Vision API进行交互。
首先,确保已经安装了purr和RoogleVision这两个包。可以使用以下命令进行安装:
install.packages("purr")
install.packages("RoogleVision")
接下来,按照以下步骤进行批量调用Google Vision API:
library(purr)
library(RoogleVision)
vision_auth("path/to/your/credentials.json")
请将"path/to/your/credentials.json"替换为您在Google Cloud Console中生成的凭证文件的路径。
image_paths <- c("path/to/image1.jpg", "path/to/image2.jpg", ...)
请将"path/to/image1.jpg"和"path/to/image2.jpg"替换为实际的图像文件路径。如果有更多的图像文件,可以继续添加到向量中。
results <- pwalk(list(image_paths), ~vision_api(annotate = list(features = list(type = "LABEL_DETECTION")), image = list(content = readBin(.x, "raw", file.info(.x)$size))))
上述代码使用了pwalk函数来遍历每个图像路径,然后调用vision_api函数来发送图像数据和请求参数给Google Vision API,并将返回结果保存在results变量中。在这个例子中,我们使用了LABEL_DETECTION功能,即标签检测。您可以根据需求选择其他功能,比如FACE_DETECTION、LANDMARK_DETECTION等。
output <- map_df(results, ~{
response <- .x[[1]]
labels <- response$labelAnnotations
tibble(
image_path = .x[[2]],
description = map_chr(labels, "description"),
score = map_dbl(labels, "score")
)
})
上述代码将每个图像的标签结果提取出来,并以数据框的形式存储在output变量中。您可以根据需要进行进一步的处理和分析。
至此,您已经成功地使用purr和RoogleVision批量调用Google Vision API,获取图像的标签结果。
对于腾讯云相关产品和产品介绍链接,由于要求不能提及具体品牌商,建议您参考腾讯云官方文档或咨询腾讯云官方渠道,以了解腾讯云在云计算领域的相关产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云