资源简介
本资源介绍了JPEG2000编码方式,还包括多种JPEG2000编码的MATLAB程序代码实现。另外还对编码的原理及核心算法进行详细讲解。
代码片段和文件信息
function y = im2jpeg2k(x n q)
%IM2JPEG2K Compresses an image using a JPEG 2000 approximation.
% Y = IM2JPEG2K(X N Q) compresses image X using an N-scale JPEG
% 2K wavelet transform implicit or explicit coefficient
% quantization and Huffman symbol coding augmented by zero
% run-length coding. If quantization vector Q contains two
% elements they are assumed to be implicit quantization
% parameters; else it is assumed to contain explicit subband step
% sizes. Y is an encoding structure containing Huffman-encoded
% data and additional parameters needed by JPEG2K2IM for decoding.
%
% See also JPEG2K2IM.
% Copyright 2002-2004 R. C. Gonzalez R. E. Woods & S. L. Eddins
% Digital Image Processing Using MATLAB Prentice-Hall 2004
% $Revision: 1.5 $ $Date: 2003/10/26 18:38:13 $
global RUNS
error(nargchk(3 3 nargin)); % Check input arguments
if ndims(x) ~= 2 | ~isreal(x) | ~isnumeric(x) | ~isa(x ‘uint8‘)
error(‘The input must be a UINT8 image.‘);
end
if length(q) ~= 2 & length(q) ~= 3 * n + 1
error(‘The quantization step size vector is bad.‘);
end
% Level shift the input and compute its wavelet transform.
x = double(x) - 128;
[c s] = wavefast(x n ‘jpeg9.7‘);
% Quantize the wavelet coefficients.
q = stepsize(n q);
sgn = sign(c); sgn(find(sgn == 0)) = 1; c = abs(c);
for k = 1:n
qi = 3 * k - 2;
c = wavepaste(‘h‘ c s k wavecopy(‘h‘ c s k) / q(qi));
c = wavepaste(‘v‘ c s k wavecopy(‘v‘ c s k) / q(qi + 1));
c = wavepaste(‘d‘ c s k wavecopy(‘d‘ c s k) / q(qi + 2));
end
c = wavepaste(‘a‘ c s k wavecopy(‘a‘ c s k) / q(qi + 3));
c = floor(c); c = c .* sgn;
% Run-length code zero runs of more than 10. Begin by creating
% a special code for 0 runs (‘zrc‘) and end-of-code (‘eoc‘) and
% making a run-length table.
zrc = min(c(:)) - 1; eoc = zrc - 1; RUNS = [65535];
% Find the run transition points: ‘plus‘ contains the index of the
% start of a zero run; the corresponding ‘minus‘ is its end + 1.
z = c == 0; z = z - [0 z(1:end - 1)];
plus = find(z == 1); minus = find(z == -1);
% Remove any terminating zero run from ‘c‘.
if length(plus) ~= length(minus)
c(plus(end):end) = []; c = [c eoc];
end
% Remove all other zero runs (based on ‘plus‘ and ‘minus‘) from ‘c‘.
for i = length(minus):-1:1
run = minus(i) - plus(i);
if run > 10
ovrflo = floor(run / 65535); run = run - ovrflo * 65535;
c = [c(1:plus(i) - 1) repmat([zrc 1] 1 ovrflo) zrc ...
runcode(run) c(minus(i):end)];
end
end
% Huffman encode and add misc. information for decoding.
y.runs = uint16(RUNS);
y.s = uint16(s(:));
y.zrc = uint16(-zrc);
y.q = uint16(100 * q‘);
y.n = uint16(n);
y.huffman = mat2huff(c);
%-------------------------------------------------------------------%
function y = runcode(x)
% Find a
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1260049 2020-05-27 16:41 9-JPEG2000编码方式的MATLAB实现+原理讲解\49369719matlab-for-JPEG2000.rar
文件 2871 2020-05-27 16:34 9-JPEG2000编码方式的MATLAB实现+原理讲解\85170556jpeg2000.rar
文件 97409 2020-05-27 16:35 9-JPEG2000编码方式的MATLAB实现+原理讲解\9651191jpeg2000_matlab.rar
文件 4070 2004-12-16 13:36 9-JPEG2000编码方式的MATLAB实现+原理讲解\im2jpeg2k.m
文件 641 2000-03-28 21:16 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\aff_image.m
文件 791 2000-05-17 12:56 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Aff_step.m
文件 780 2000-04-14 12:20 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\aff_weight.m
文件 852 2000-03-28 21:20 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Ajuste.m
文件 98 2000-04-14 00:18 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Cal_R.m
文件 1587 2000-02-10 23:47 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\CMP_MRK.M
文件 846 2000-03-07 19:25 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\code_blocs.m
文件 1168 2000-07-21 10:19 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Compare.m
文件 1126 2000-03-03 18:51 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\DD_arrange.m
文件 1149 2000-03-06 22:22 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\DD_inv_arrange.m
文件 1036 2000-03-15 17:38 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\decode_blocs.m
文件 1132 2000-03-05 19:50 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\down_sample.m
文件 681 2000-04-27 00:05 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\eb2_get_delta.m
文件 255 2000-03-29 10:50 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\ENTROPY.M
文件 69 1998-08-20 16:32 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\ETROPY.M
文件 1295 2000-03-06 16:03 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Fdwt.m
文件 2801 2000-05-23 09:09 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\gen_table.m
文件 821 2000-04-26 01:28 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\get_alpha.m
文件 291 2000-04-25 23:27 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Get_pond.m
文件 448 2000-05-23 09:10 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Get_Qstep.m
文件 856 2000-04-27 14:16 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\get_RI.m
文件 570 2000-06-26 12:09 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Get_step.m
文件 245 2000-04-14 12:13 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\get_weight.m
文件 1292 2000-03-03 19:20 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\Idwt.m
文件 1246 2000-07-21 14:30 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\init_image.m
文件 1141 2000-03-04 11:41 9-JPEG2000编码方式的MATLAB实现+原理讲解\jpeg2000_matlab\inv_trans_color.m
............此处省略51个文件信息
相关资源
- 电力系统潮流计算MATLAB课程设计
- MATLAB数字水印 源代码+毕业论文
- 基于MATLAB药粒检测.zip
- 基2和基4矩阵分解的推导以及对应FF
- 三阶卡尔曼计算加速度、速度、高度
- 自适应滤波器设计及Matlab实现
- 支持向量机matlab
- SIFT算法的Matlab实现201985
- DBSCAN算法及Matlab实现
- SIFT MATLAB实现(代码+文档)至今最容
- 《模式识别与智能计算》MATLAB技术实
- PV组件的MATLAB建模
- MATLAB与控制系统仿真实践201573
- 《先进PID控制MATLAB仿真第3版》仿真程
- MATLAB在电气工程中的应用
- 基于哈希的图像检索LSH,ITQmatlab代码
- matlab时频分析工具箱tftb-0.2
- fastFWI-master.zip
- MATLAB 画飞机三维运动轨迹工具箱
- matlab 非线性光学模拟
- GUI的数字识别系统
- MATLAB实验报告大全
- 倒立摆matlab仿真模型
- 图像超分辨率处理
- MATLAB数学建模-配书代码
- 结构光超分辨MATLAB代码,测试图像,
- IMAGE_MATLAB_GUI
- MATLAB Text Analytics Toolbox官方教程
- gps基本原理及其matlab仿真199992
- 信号分析与处理——MATLAB语言及应用
评论
共有 条评论