关于图像处理方面的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于图像处理方面的问题相关的知识,希望对你有一定的参考价值。
Sig=imread('lily.tif' );
//设置压缩比
rat=4;
//设置系数保留个数
Sig=double(Sig)/255;
//显示原始图像
figure(1);
imshow(Sig);
//计算离散余弦变换
//分块处理
T=dctmtx(8);
DCTcoe=blkproc(Sig,[8 8],'idct2(x)');
//得到DCT系数矩阵
CoeVar=im2col(DCTcoe,[8,8],'distinct');
coe=CoeVar;
[Y,Ind]=sort(CoeVar);
//求出DCT系数排列矩阵的大小
[m,n]=size(CoeVar);
//按照压缩比保留系数
Snum=64-64*rat;
for i=1:n
Coe(Ind(1:Snum),i)=0;
end;
//重新排列系数块
B2=col2im(coe,[8 8],[256 256],' distinct' );
//进行余弦反变换
I2=blkproc(B2,[8 8],' p1*x*P2' T' T);
//显示压缩后的图像
figure(4);
imshow(I2);
//计算归一化图像的均方误差
error=Sig.,2-I2.,2;
MSE=sum(error(:))/prod(size(I2))
B2=col2im(coe,[8 8],[256 256],' distinct' );
时出现错误
??? Error using ==> col2im
The column size of b not consistent with BLK2COL size.
其中COL2IM函数在电脑里可以运行
程序前面得已经调试好了,麻烦高手帮我将后面的调试成功,调试成功奖励100分
一楼的朋友,还是运行不出来哦,难道在你电脑上能运行得出?提示一样的错误,不好意思程序我不会写,是用别人的程序修改的。
还有下面得是否可以帮我调试好
A = COL2IM(B,[M N],[MM NN],'distinct') rearranges each column
of B into a distinct M-by-N block to create the matrix A of
size MM-by-NN. If B = [A11(:) A12(:) A21(:) A22(:)], where
each column has length M*N, then A = [A11 A12; A21 A22] where
each Aij is M-by-N.
也就是说,A的大小是[MM,NN], B的大小是[M,N]
因此你这里可能应该写作是:
B2=col2im(coe,[8 8],[64 64],' distinct' );
建议: 有错误对于编程序来讲很正常,要学会看懂程序报错的内容。再聪明的程序员也记不住海量的函数和方法,我们熟练地使用帮助文档,就能更好更快地做好程序的架构和细节。 祝顺利 ^_^ 参考技术A 这都是特意涂改
就是为了不让别人看全
没有办法
除非你到后台
以上是关于关于图像处理方面的问题的主要内容,如果未能解决你的问题,请参考以下文章
个人喜欢的关于模式识别机器学习推荐系统图像特征等方面个人主页及博客 转