gpt4 book ai didi

url - 如何在 MATLAB 中使用 urlread() 将图像发布到服务器

转载 作者:行者123 更新时间:2023-12-04 05:56:12 25 4
gpt4 key购买 nike

我想使用 face.com 人脸检测 API(将图像发送到服务器并返回一个 xml 字符串结果)。

我用 urlread()并且它无法上传图像文件。

编码:

fid = fopen('T000.jpg');
im = fread(fid,Inf,'*uint8');
fclose(fid);

urlread('http://api.face.com/faces/detect.xml','post',...
{'api_key' , MY_CODE,...
'api_secret' , MY_SECRET,...
'detector' , 'Normal',...
'attributes' , 'all',...
'file' , im})

但它返回一个错误,因为 MATLAB 尝试将图像编码为 url。

注意:当我在网络上使用图像时,它确实有效(因为没有上传文件)。
urlread('http://api.face.com/faces/detect.xml','post',...
{'api_key' , MY_CODE,...
'api_secret' , MY_SECRET,...
'detector' , 'Normal',...
'attributes' , 'all',...
'urls' , 'http://0.tqn.com/d/beauty/1/0/x/3/1/halle_berry_pixie.jpg'})

最佳答案

不幸的是,您不能使用内置函数 urlread .它只使用 application/x-www-form-urlencoded用于 POST 请求和 face API需求multipart/form-data为了上传jpeg文件。您将不得不查看第三方工具

或者,您可以尝试编写自己修改过的 urlread 函数。然而,Matlab 没有比 urlread 更细粒度的访问。要解决此问题,您可以使用 Java within Matlab .文档甚至包含 URL example .基本上,您可以创建 Java 对象并在 Matlab 解释器中调用它们的方法。以下是 Matlab 中的 Java 示例:

string_builder = java.lang.StringBuilder('Bar'); %new is not used
string_builder.setCharAt(2, 'z');
java_string = string_builder.toString.toLowerCase; %brackets are optional
matlab_char = char(java_string); %matlab_char == 'baz'

祝你好运。

关于url - 如何在 MATLAB 中使用 urlread() 将图像发布到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9496392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com