使用opencpu发送图像文件进行处理

Send an image file using opencpu for processing

我是 R 和 OpenCpu 新手。 我已经能够创建和部署一个带有函数的简单 R 包,并使用 curl 对该函数进行 REST 调用,得到 json 响应。

我在 Windows 7.

上使用 R 3.1.2 64 位

我现在想将图像文件(比如 jpg 或 png)发送到 R 函数,对其进行处理并发回响应 text/json。

opencpu 可以吗? 我应该使用什么格式和内容类型?

我想做类似的事情:

curl -v http://server:port/ocpu/library/mylibrary/R/myimagefunc/<format?> -H "Content-Type: <content-type?>" <some_file.png>

此 REST url 将嵌入到 Web 应用程序中,为用户提供文件上传功能。

------ 编辑 ------

aboutimage <- function(imageobj) {
    require(RProtoBuf)
    require(EBImage)
    img <- readImage(imageobj)
    nf <- numberOfFrames(img)
    print(nf)
    return(nf)
}

谢谢。

您可以使用常规多部分上传文件 post。试试这个:

curl -v http://server:port/ocpu/library/mylibrary/R/myimagefunc -F "imageobj=@yourfile.png"

当POST-ing 上传文件时,opencpu 服务器会将文件复制到工作目录并将文件名作为参数传递给您的函数调用。所以在这种情况下它执行:

myimagefunc(imageobj = "yourfile.png")