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.

回答(0 个)

此问题已关闭。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by