⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fg_10_12.m

📁 英文书《Digital Signal Processing with Examples in MATLAB》附带的MATLAB实例
💻 M
字号:
% fg_10_12
ix=70; iy=60; N=32;
% Put the 256 x 256 image into x.
x=zeros(256,256);
fid=fopen('boats.txt');
for row=(1:256)
 x(1:256,row)=fscanf(fid, ...
  '%4d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n',256);
end
fclose(fid);

% Get the segment and compute DCT2
x=x';
Hx=entropy(x(:))
seg=x(iy:iy+N-1,ix:ix+N-1);
segav=sum(seg(:))/N^2;
% DCT scaled to [0,255]
Y=sp_dct(seg-segav);
DC=sp_dct(Y')';
DC=DC-min(DC(:));
DC=round(DC*255/max(DC(:)));
Hdc=entropy(DC(:))

% Plots.
colormap(gray(256));
sp_fig(1);
axes('position',[.1,.575,.35,.35]);
image(x);
set(gca,'fontsize',14);
set(gca,'xtick',[1 128 256],'ytick',[1 128 256]);
title('Boats','fontsize',16);
axis square;

axes('position',[.1,.1,.35,.35]);
image(seg);
set(gca,'fontsize',14);
set(gca,'xtick',[1 N/2 N],'ytick',[1 N/2 N]);
set(gca,'xticklabel',[ix+1 ix+N/2 ix+N]);
set(gca,'yticklabel',[iy+1 iy+N/2 iy+N]);
title('Segment','fontsize',16);
axis square;

axes('position',[.375,.1,.65,.65]);
image(DC);
set(gca,'fontsize',14);
set(gca,'xtick',[1 N/2 N],'ytick',[1 N/2 N]);
title('Segment DCT','fontsize',16);
axis square;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -