- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像处理实验代码
图像变换 1、DCT变换 load imdemos moon i=moon; subplot(1,4,1),imshow(i,[],notruesize),title(原图) B=dct2(i); subplot(1,4,2),imshow(log(abs(B)),[],notruesize),title(DCT变换) C=idct2(B); subplot(1,4,3),imshow(abs(C),[],notruesize),title(DCT逆变换) XX=imsubtract(i,im2uint8(C)); subplot(1,4,4),imshow(XX,[],notruesize),title(验证) imwrite(mat2gray(log(abs(B))),2.jpg); 2、傅里叶变换 load imdemos moon i=moon; subplot(1,4,1),imshow(i,[],notruesize),title(原图) B0=fft2(i); B=fftshift(B0); subplot(1,4,2),imshow(log(abs(B)),[],notruesize),title(傅里叶变换) C=ifft2(B0); subplot(1,4,3),imshow(abs(C),[],notruesize),title(傅里叶逆变换) XX=imsubtract(i,im2uint8(C)); subplot(1,4,4),imshow(XX,[],notruesize),title(验证) XXX=uint8(mat2gray(log(abs(B0)))) imwrite((XXX),222.jpg); 图像变换 im=imread(Lena.jpg); [row col]=size(im); f=zeros(1,256); for i=1:256 f(i)=length(find(i-1==im(:))); end z=f/(row*col); z2=f~=0; % f2=f(z2); z3=z(z2); h0=0:255; h0=h0(z2); h1=num2str(h0); p=z3; n=length(p); for i=1:n ch(i,1:3)=sprintf(%3s,num2str(h0(i))); end q=p; a=zeros(n-1,n); %生成一个 n-1 行 n 列的数组 for i=1:n-1 %对概率数组 q 进行从小至大的排序,并且用 l 数组返回一个数组, %该数组表示概率数组 q 排序前的顺序编号 [q,l]=sort(q); %由数组 l 构建一个矩阵,该矩阵表明概率合并时的顺序,用于后面的编码 a(i,:)=[l(1:n-i+1),zeros(1,i-1)]; %将排序后的概率数组 q 的前两项, %即概率最小的两个数加和,得到新的一组概率序列 q=[q(1)+q(2),q(3:n),1]; end for i=1:n-1 %生成一个 n-1 行 n 列,并且每个元素的的长度为 n 的空白数组, %c 矩阵用于进行 huffman 编码,并且在编码中与 a 矩阵有一定的对应关系 c(i,1:n*n)=blanks(n*n); end %由于 a 矩阵的第 n-1 行的前两个元素为进行 huffman 编码加和运算时所得的最 c(n-1,n)=0; %后两个概率,因此其值为 0 或 1, %在编码时设第 n-1 行的第一个空白字符为 0,第二个空白字符 1。 c(n-1,2*n)=1; for i=2:n-1 %矩阵 c 的第 n-i 的第一个元素的 n-1 的字符赋值为对应于 a 矩阵中 %第 n-i+1 行中值为 1 的位置在 c 矩阵中的编码值 c(n-i,1:n-1)=c(n-i+1,n*(find(a(n-i+1,:)==1))-(n-2):n*(find(a(n-i+1,:)==1))); c(n-i,n)=0; %根据之前的规则,在分支的第一个元素最后补 0 %矩阵 c 的第 n-i 的第二个元素的 n-1 的字符与第 n-i 行的第一个元素的 %前 n-1 个符号相同,因为其根节点相同 c(n-i,n+1:2*n-1)=c(n-i,1:n-1); c(n-i,2*n)=1; %根据之前的规则,在分支的第一个元素最后补 1 for j=1:i-1 %矩阵 c 中第 n-i 行第 j+1 列的值等于对应于 a 矩阵中第 n-i+1
文档评论(0)