要使用MATLAB鏈接的java我用一個開源的,Matlab的控制谷歌代碼 我收到此錯誤:Error: At least one END is missing: the statement may begin here.
運行在命令行中的javac Dwtembed.java此代碼。
如果你複製粘貼下面的代碼並檢查,你會明白我實際上正在做什麼,這一點很清楚。我真的希望能爲這個問題找到一些幫助。問題在用Matlab控制谷歌代碼
import matlabcontrol.*;
class Dwtembed
{
public static void main(String[] args) throws MatlabConnectionException, MatlabInvocationException
{
//Create a proxy, which we will use to control MATLAB
MatlabProxyFactory factory = new MatlabProxyFactory();
MatlabProxy proxy = factory.getProxy();
proxy.eval("file_name='lena.bmp';");
proxy.eval("cover_object=double(imread(file_name));");
proxy.eval("mc=size(cover_object,1);");
proxy.eval("nc=size(cover_object,2);");
proxy.eval("file_name='dmg2.bmp';");
proxy.eval("message=double(imread(file_name));");
proxy.eval("mm=size(message,1);");
proxy.eval("nm=size(message,2);");
proxy.eval("[ca,ch,cv,cd]=dwt2(cover_object,'haar');");
proxy.eval("ca1=ca;");
proxy.eval("qiangdu=1;");
proxy.eval("for i=1:nm");
proxy.eval("for j=1:nm");
proxy.eval("if(message(i,j)==0)");
proxy.eval("ca1(i,j)=ca(i,j)+qiangdu;");
proxy.eval("end");
proxy.eval("end");
proxy.eval("end");
proxy.eval("watermarked_image=idwt2(ca1,ch,cv,cd,'haar');");
proxy.eval("watermarked_image_round=round(watermarked_image);");
proxy.eval("watermarked_image_uint8=uint8(watermarked_image_round);");
proxy.eval("imshow(watermarked_image_uint8);");
proxy.eval("figure(2);");
proxy.eval("imshow(watermarked_image_uint8,[]);");
proxy.eval("title('watermarked image');");
proxy.eval("imwrite(watermarked_image_uint8,'dwt_watermarked.bmp','bmp');");
proxy.eval("xsz=mc*nc*max(max(cover_object.^2))./sum(sum((cover_object-watermarked_image_round).^2));");
proxy.eval("psnr=10*log10(xsz);");
//Disconnect the proxy from MATLAB
proxy.disconnect();
}
}
那麼在哪一行表示語句可能開始?這是'if'陳述嗎? – jerad 2013-03-02 17:17:56
@jerad感謝您的評論,但我真的不知道,它沒有提及行號 – sumedha 2013-03-02 17:22:18
@ jerad是否嘗試執行代碼,並且您得到相同的錯誤? – sumedha 2013-03-02 17:23:13