Info
此问题已关闭。 请重新打开它进行编辑或回答。
How to compress a location map using JBig compression?
1 次查看(过去 30 天)
显示 更早的评论
function [y,nbr_bits] = perform_jbig_coding(x)
% perform_jbig_coding - perform binary image coding % % [y,nbr_bits] = perform_jbig_coding(x); % % It requires pbmtojbg and jbgtopbm executable. % % Copyright (c) 2006 Gabriel Peyr
name_pbm = 'b.pbm'; name_jbg = 'c.jbg'; if size(x,1)>1 && size(x,2)>1 % forward transform % save as pbm imwrite(rescale(x), name_pbm, 'pbm'); % convert to jgib !pbmtojbg tmp.pbm tmp.jbg % read jbig file fid = fopen(name_jbg); if fid<0 error('Unable to open Jbig file.'); end [y,cnt] = fread(fid, Inf); fclose(fid); nbr_bits = length(y)*8; % remove tmp files !del tmp.jbg !del tmp.pbm else % backward transform fid = fopen(name_jbg, 'wb'); if fid<0 error('Unable to open Jbig file.'); end fwrite(fid, x); fclose(fid); % convert to pbm !jbgtopbm tmp.jbg tmp.pbm % read pbm y = imread(name_pbm); % remove tmp files !del tmp.jbg !del tmp.pbm nbr_bits = -1; end
Actually, I find this code in matlab. But I don't understand why two ".pbm" and ".jbg" are needed. I have only one location map(.pbm) to compress. As I am very new to programming, it is really hard to understand. Please help me.
1 个评论
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!