matlab图像处理的错误怎么更改?>> I=imread('D:\Buliding.tif');I=im2double(I); %转换图像矩阵为双精度型.J=dct2(I);T=dctmtx(8); %产生二维DCT变换矩阵a1=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 69 56;1
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 08:18:42
matlab图像处理的错误怎么更改?>> I=imread('D:\Buliding.tif');I=im2double(I); %转换图像矩阵为双精度型.J=dct2(I);T=dctmtx(8); %产生二维DCT变换矩阵a1=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 69 56;1
matlab图像处理的错误怎么更改?
>> I=imread('D:\Buliding.tif');
I=im2double(I); %转换图像矩阵为双精度型.
J=dct2(I);
T=dctmtx(8); %产生二维DCT变换矩阵
a1=[16 11 10 16 24 40 51 61;
12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;
14 17 22 29 51 87 80 62;
18 22 37 56 68 109 103 77;
24 35 55 64 81 104 113 92;
49 64 78 87 103 121 120 101;
72 92 95 98 112 100 103 99 ];
for i=1:8:200
for j=1:8:200
P=I(i:i+7,j:j+7);
K=T*P*T';
I2(i:i+7,j:j+7)=K;
K=K./a1; %量化
K(abs(K)
matlab图像处理的错误怎么更改?>> I=imread('D:\Buliding.tif');I=im2double(I); %转换图像矩阵为双精度型.J=dct2(I);T=dctmtx(8); %产生二维DCT变换矩阵a1=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 69 56;1
dct2只能计算二维矩阵的二维dct变换
而I=imread('D:\Buliding.tif');
读取的I是rgb三维矩阵
I=im2double(I);之后I还是三维矩阵
如果要处理rgb图像,那么只能分开三个颜色来处理
如果只是处理灰度图像的画,你应该将元图像先化为灰度图像再处理
I=imread('D:\Buliding.tif');
I=rgb2gray(I);