⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coding.m

📁 一个用于演示游程编码的Matlab程序
💻 M
字号:
% 游程编码解码程序(编码函数)% 版权所有(C)2008 Genghis_Yang% E-mail: yangcheng2503@163.comfunction [ output_args ] = Coding( input_file,output_file )% Coding()函数功能:对二值位图文件进行编码并输出编码后的编码文件% 两个参数分别是输入的二值位图文件名和待输出的游程编码文件名binImage=imread(input_file);                        % 打开二值位图并将数据输入矩阵变量binImagefid=fopen(output_file,'w');                         % 创建编码文件zero=0;one=0;[m,n]=size(binImage);                               % 获得图像尺寸for i=1:1:m;                                        % 行循环计算    for j=1:1:n;                                    % 列循环分情况计算        if ((binImage(i,j)==0) & (zero==0) & (one==0))      % 对应每行起始像素为0的情况            fprintf(fid,'0 ');            zero=zero+1;        elseif ((binImage(i,j)==0) & (one~=0))              % 从1变0,将1的计数值写出            fprintf(fid,'%d ',one);            one=0;            zero=zero+1;        elseif ((binImage(i,j)==0) & (zero~=0))             % 连续0,增加zero的值            zero=zero+1;        elseif ((binImage(i,j)~=0) & (zero~=0))             % 从0变1,将0的计数值写出            fprintf(fid,'%d ',zero);            zero=0;            one=one+1;        elseif ((binImage(i,j)~=0) & (one~=0))              % 连续1,增加one的值            one=one+1;        elseif ((binImage(i,j)~=0) & (zero==0) & (one==0))  % 对应每行起始像素是1的情况            one=one+1;        end;    end;    if (zero~=0)                                    % 运行到行末,将1或0值写出        fprintf(fid,'%d',zero);        fprintf(fid,'\n');        zero=0;    elseif(one~=0)        fprintf(fid,'%d',one);        fprintf(fid,'\n');        one=0;    end;end;fclose(fid);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -