📄 run_uncompress.m
字号:
function PSNR=Run_uncompress()
clear;
%装载压缩后的文件
[filename, pathname] = uigetfile( ...
{'*.ezw;','ezw压缩图像 (*.ezw)'
}, '选择压缩图像1(ezw)','ezwPart.ezw');
FileFullname2=strcat(pathname,filename); %全名
if isequal(filename, 0) %文件不存在存在
return;
end
[pathstr,IezwImgName] = fileparts(FileFullname2);%去掉后缀
%huff压缩块
[filename, pathname] = uigetfile( ...
{'*.mat;','ROI的huffman压缩文件 (*.mat)'
}, '选择压缩图像2(ROI)','huffPart.mat');
FileFullname1=strcat(pathname,filename); %全名
if isequal(filename, 0) %文件不存在存在
return;
end
load(FileFullname1); %读入huffman块
%unezwcodestr=sprintf('unezw %s %f -o midImgUn -d %s',orinalImageName,bpp,IezwImgName) %调用unezw命令
unezwcodestr=sprintf('unezw %s -d midImgUn',IezwImgName); %调用unezw命令
dos(unezwcodestr,'-echo');
UnI = imread('midImgUn.unezw.pgm');
huffImg = huff2mat(huffcode);
BW = roipoly(UnI,x,y);
ijROI = find(BW==1);
UnI(ijROI) = huffImg;
%写文件
IUnImgName = uiputfile({'*.bmp','BMP文件(*.bmp)'}, '解压后的图像...','解压图像.bmp'); %ROI保存对话框
imwrite(UnI,IUnImgName);
figure('name','压缩解压后的影像','NumberTitle','off');
imshow(UnI);
load imageInfo;
PSNR=iq_measures(I,UnI); %计算 PSNR
II = UnI;
II(ijROI) = UnI(ijROI)-I(ijROI);
figure('name','检验huffman的影像','NumberTitle','off');
imshow(II);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -