|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本人利用matlab web server编写了一个远程图像处理的系统,具体是这样的:客户机发送图片给服务器,服务器对图片进行去噪、边缘检测等操作,最后把结果返回到客户机。但遇到了一个难题,客户机并不是什么图片都能传得过去,只有C盘下windows自带的一些示例图片才能应用,否则在客户端浏览器上会出现提示:matlab application error:imread('图片路径\图片名.jpg')does not exit.我尝试把能够处理的那几幅示例图片转移到其它文件夹,结果是不能处理,出现同样错误。
输入HTML文件重点如下:
<form action="/cgi-bin/matweb.exe" method="get" target="outputwindow">
<input type="hidden" name="mlmfile" value="test2"> %test2为要调用的M文件
<input type="file" name="pic" > %pic为输入图片的变量名
M文件为:
function result=test2(Input)
cd(Input.mldir);
image=imread(Input.pic);
if (isfield(Input,'method')) %判断是否为构架域
meth = getfield(Input,'method');%getfield 获知构架数组的域
if strcmp(meth, 'jiaoyan');
I=imnoise(image,'salt & pepper');
end
if strcmp(meth, 'gaussian');
I=imnoise(image,'gaussian',0,0.05);
end
if strcmp(meth, 'junheng');
I=histeq(image);
end
s.OutFile=sprintf('%spic.jpg',Input.mlid);
s.outstruct=sprintf('%simage.jpg',Input.mlid);
imwrite(I,s.OutFile,'jpg');
imwrite(image,s.outstruct,'jpg');
result=htmlrep(s,'out1.html');
请高手赐教,是不是image=imread(Input.pic);这句出了问题?还是其它?令我非常不解的是为什么windows自带的示例图片能够成功。谢谢! |
|