Я использую Microsoft Face API для обнаружения эмоций на лице.После проб и ошибок у меня есть следующий код, который работает для одного файла:
local <- "/mypath/image.jpg"
x_recognition <- function (x) {
y = POST(Oxford,
body = upload_file(x),
add_headers(.headers = c("Content-Type"="application/octet-stream",
"Ocp-Apim-Subscription-Key"=csAPI))
)
do.call(rbind,content(y)[[1]]$faceAttributes['emotion'])
}
x_recognition(local)
anger contempt disgust fear happiness neutral sadness surprise
emotion 0 0 0 0 0 1 0 0
Но моя цель - обработать несколько изображений, содержащихся в папке.Итак, я написал следующий код, но безуспешно:
Image_list <- list.files(path = "/mypath", pattern="*.jpg", full.names=TRUE)
append_list <- data.frame()
for (x in 1:length(Image_list)) {
y = POST(Oxford,
body = upload_file(x),
add_headers(.headers = c("Content-Type"="application/octet-stream",
"Ocp-Apim-Subscription-Key"=csAPI))
)
emotionID = do.call(rbind, content(y)[[1]]$faceAttributes['emotion'])
append_list <- rbind(append_list, emotionID)
}
Приведенный выше код выдает следующую ошибку:
Error in upload_file(x) : is.character(path) is not TRUE
Я провел последний час или около того, пытаясь выяснить,решение.list.files
не похоже на проблему.
> Image_List[1]
[1] "/mypath/image1.jpg"
> Image_List
[1] "/mypath/image1.jpg"
[2] "/mypath/image2.jpg"
[3] "/mypath/image3.jpg"
Когда я пытаюсь запустить одно выбранное изображение, оно работает:
x_recognition(Image_List[1])
anger contempt disgust fear happiness neutral sadness surprise
emotion 0 0 0 0 0 1 0 0
Error in upload_file(x) : is.character(path) is not TRUE
появляется только когда я пытаюсьпетля.Любая помощь будет оценена.