|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我在用MATLAB做二维离散余弦变换(DCT),目的是对图象做压缩处理,但我的程序老是报错,我一直找不出原因,请各位高手和前辈指点指点,代码如下:
>> I=imread('images.jpg');
>> Id=im2double(I);
>>T=dctmtx(8);
>>B=blkproc(Id,[8 8],'P1*x*P2',T,T');
??? Subscripted assignment dimension mismatch.
Error in ==> blkproc at 89
aa(border(1)+(1:ma),border(2)+(1:na)) = a;
>> mask=[1 1 1 1 0 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0];
>>B2=blkproc(B,[8 8],'P1*.x',mask);
>>I2=blkproc(B2,[8 8],'P1*x*P2',T',T);
>>subplot(121),
>>imshow(I);
>>title(‘原始图象’);
>>subplot(122),
>>imshow(I2);
>>title(‘压缩图象’);
??? Undefined function or variable 'B'.
[ 本帖最后由 eight 于 2008-5-4 21:21 编辑 ] |
|