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

时间:2015-03-23 13:33:35

标签: r opencpu

我是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)
}

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

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

myimagefunc(imageobj = "yourfile.png")