使用Kakadu中的可执行文件进行压缩:
RaTe=[2 4 8 10 16 24 32 40 50];%压缩倍数
Arry=[4.0 2.0 1.0 0.75 0.5 0.33 0.25 0.2 0.16];%为压缩比率
for i=1:1:length(RaTe)
cmd="E:\JPEG2000\kakadu\kdu_compress.exe -i "+imageName+" -o "+imageName+"_"+RaTe(i)+".j2c -rate "+Arry(i);
ETT=char(cmd);
system(ETT);
end
imageName是输入的图片的名字(加上图片的后缀),当图片不在MATLAB的默认文件夹下时,imageName就要写成图片所在的路径+名字。
rate代表压缩比率,即每个像素压缩到rate个bit。一般情况下灰度图是8bit,而RGB图是24bit,所以压缩倍数=bit数/rate,对于灰度图,上述命令中,压缩倍数为8/0.4=20倍。
system(ETT);是调用可执行文件kdu_compress.exe进行图像压缩操作。
上述在MATLAB调用可执行文件的方法也可以,对OpenJPEG 2.4.0的可执行文件压缩图像,会比在cmd中操作更加方便快捷。
链接中有Kakadu软件
https://download.csdn.net/download/weixin_43876729/14935154
OpenJPEG 2.4.0
https://download.csdn.net/download/weixin_43876729/14929905