matlab对图像dct变换,为什么不能使用自己指定的图像

I=imread('cameraman.tif');%该图片在安装matlab的目录中找,原图为灰度图象I=im2double(I);%图像存储类型转换T=dctmtx(... I=imread('cameraman.tif');
%该图片在安装matlab的目录中找,原图为灰度图象
I=im2double(I);%图像存储类型转换
T=dctmtx(8);%离散余弦变换矩阵
B=blkproc(I,[8 8],'P1*x*P2',T,T');
%对原图像进行DCT变换
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);
%进行DCT反变换,得到压缩后的图像
imshow(I)
title('原始图像')
figure;
imshow(I2)
title('压缩后的图像')

我想换成另外一张图片,但是换了后

Error in ==> Untitled3 at 5
B=blkproc(I,[8 8],'P1*x*P2',T,T');

就会有这个错误。。。要怎么办?急需,在线等,谢谢好心人了
展开
 我来答
jimtien
推荐于2016-02-09 · TA获得超过7654个赞
知道大有可为答主
回答量:2146
采纳率:88%
帮助的人:1129万
展开全部

你可能读入的是rgb图片,要转成灰度图像

I1=imread('2.jpg'); 

I=rgb2gray(I1);


更多追问追答
追问
我的图像本来就是灰度的,我弄成了黑白的了,然后我加了后显示的错误是
Error in ==> Untitled3 at 2
I=rgb2gray(I1)
谢谢%>_<%明天就要交了
追答
图贴出来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式