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

📄 run_ezw.m

📁 ROI的ezw和huffman混合压缩编码
💻 M
字号:
function Run_ezw(bpp,waveletLevel)
if nargin == 0
    bpp = 0.25;
    waveletLevel = 5;
end
if nargin == 1
    waveletLevel = 5;
end
close all;
%装载并显示原始图像
[filename, pathname] = uigetfile( ...
{'*.bmp;*.jpg;*.jpeg;','图像文件 (*.bmp;*.jpg;*.jpeg)';
    '*.bmp',  '位图文件 (*.bmp)'; ...
    '*.jpg','jpeg图像文件 (*.jpg)'; ...
    '*.jpeg','jpeg图像文件 (*.jpeg)'; ...
}, '选择被压缩图像');
FileFullname=strcat(pathname,filename); %全名
if isequal(filename, 0)                    %文件不存在存在
    return;
end
I = imread(FileFullname);           %读入图像,Image
imshow(I);

selection = questdlg('请选择ROI区域',...
                '确定继续操作','Yes','No','Yes');
if strcmp(selection,'No')
   return;
end
[BW,x,y] = roipoly;          %区域选择

ijROI = find(BW==1);
sumROI = length(ijROI);

Imid=I;
Imid(ijROI)=0;
imshow(Imid);
imwrite(I,'midImg.pgm');            %写入中间图像,用pgm格式

%ezw编码
IezwImgName = uiputfile({'*ezw','ezw(*.ezw)'},'保存ezw编码...','ezwPart');  %ezw保存对话框
ezwcodestr=sprintf('ezw midImg %f -l %d -w 0 -h 256 -e %s',bpp,waveletLevel,IezwImgName);
%ezwcode = 'ezw midImg 0.25 -l 5 -w 0 -h 256 -e Iezw_0.25';
dos(ezwcodestr);

%huffman编码
IhuffImgName = uiputfile({'*.mat','MAT文件(*.mat)'}, 'ROI huffman编码...','huffPart');  %ROI保存对话框
huffImg = I(ijROI);
huffcode=mat2huff(huffImg);
save(IhuffImgName,'huffcode','x','y','bpp','waveletLevel','IezwImgName');

⌨️ 快捷键说明

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