• 大小: 8KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: 其他
  • 标签: fisher  

资源简介

基于fisher 的手写数字识别程序 可以实现手写数字的识别

资源截图

代码片段和文件信息

	clear;
clc;
bmp=imread(‘test.bmp‘‘bmp‘);
gray=rgb2gray(bmp);
bw=im2bw(gray0.5); %transfer to black and white
rate(1:10)=0;
[heightwidthd]=size(bw); % find the height/width/dimension of the bw picture
[xy]=find(bw==0);   %0 represent black pixel
Xmin = min(x);
Xmax = max(x);
Ymin = min(y);
Ymax = max(y);
W = Xmax-Xmin;
H = Ymax-Ymin;
dw = floor(W/10)+1;
dh = floor(H/10)+1;

% find the characteristic matrix
matrix=zeros(10);
for i=[Xmin:Xmax]
for j=[Ymin:Ymax]
if bw(ij)==0
matrix(floor((i-Xmin)/dw)+1floor((j-Ymin)/dh)+1)=1;
end
end
end
matrix=matrix‘;

% find the characteristic vector
charavetor=reshape(matrix‘1001);


raw_data0=[]; % Nx100矩阵 每一行都是一个样品
file_id=fopen(‘0.txt‘‘rb‘);
while feof(file_id) == 0
[row_array ele_count] = fread(file_id 100);
if ele_count < 100 % elecount < 100代表数据不够,已经到了文件的结尾
break ; 
    else
        % 将100x1的row_array转置一下,变为1x100的矩阵
        row_array = row_array‘  ;
        % 然后,将row_array追加到raw_data中
        raw_data0 = [raw_data0; row_array] ; 
        end
    end
    fclose(file_id);
    raw_data0=raw_data0-48;
    [m_data0n_data]=size(raw_data0); %获得特征文件的样品数
    uAvg0=sum(raw_data01)/m_data0;
    Sw0=zeros(100100);
    for i=[1:m_data0]
    Sw0=Sw0+((raw_data0(i))‘-uAvg0‘)*((raw_data0(i))‘-uAvg0‘)‘;
    end

raw_data1=[]; % Nx100矩阵 每一行都是一个样品
file_id=fopen(‘1.txt‘‘rb‘);
while feof(file_id) == 0
[row_array ele_count] = fread(file_id 100);
if ele_count < 100 % elecount < 100代表数据不够,已经到了文件的结尾
break ; 
    else
        % 将100x1的row_array转置一下,变为1x100的矩阵
        row_array = row_array‘  ;
        % 然后,将row_array追加到raw_data中
        raw_data1 = [raw_data1; row_array] ; 
        end
    end
    fclose(file_id);
    raw_data1=raw_data1-48;
    [m_data1n_data]=size(raw_data1); %获得特征文件的样品数
    uAvg1=sum(raw_data11)/m_data1;
    Sw1=zeros(100100);
    for i=[1:m_data1]
    Sw1=Sw1+(raw_data1(i)‘-uAvg1‘)*(raw_data1(i)‘-uAvg1‘)‘;
    end

raw_data2=[]; % Nx100矩阵 每一行都是一个样品
file_id=fopen(‘2.txt‘‘rb‘);
while feof(file_id) == 0
[row_array ele_count] = fread(file_id 100);
if ele_count < 100 % elecount < 100代表数据不够,已经到了文件的结尾
break ; 
    else
        % 将100x1的row_array转置一下,变为1x100的矩阵
        row_array = row_array‘  ;
        % 然后,将row_array追加到raw_data中
        raw_data2 = [raw_data2; row_array] ; 
        end
    end
    fclose(file_id);
    raw_data2=raw_data2-48;
    [m_data2n_data]=size(raw_data2); %获得特征文件的样品数
    uAvg2=sum(raw_data21)/m_data2;
    Sw2=zeros(100100);
    for i=[1:m_data2]
    Sw2=Sw2+(raw_data2(i)‘-uAvg2‘)*(raw_data2(i)‘-uAvg2‘)‘;
    end

raw_data3=[]; % Nx100矩阵 每一行都是一个样品
file_id=fopen(‘3.txt‘‘rb‘);
while feof(file_id) == 0
[row_array ele_count] = fread(file_id 100);
if ele_count < 100 % elecount < 100代表数据不够,已经到了文件的结尾
break ; 
    else
        % 将100x1的row_array转置一下,变为1x100的矩阵
       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......      1400  2012-04-30 15:55  7.txt

    .......      1800  2012-04-30 19:42  8.txt

    .......      1900  2012-04-30 19:23  9.txt

     文件      16421  2012-05-31 17:46  FisherNumRegc.m

     文件     468214  2012-05-30 22:11  test.bmp

    .......      1600  2012-04-30 15:36  0.txt

    .......      2100  2012-04-30 19:40  1.txt

    .......      1800  2012-04-30 20:49  2.txt

    .......      2100  2012-04-30 19:38  3.txt

    .......      1800  2012-04-30 19:24  4.txt

    .......      2000  2012-04-30 21:08  5.txt

    .......      1800  2012-04-30 21:09  6.txt

----------- ---------  ---------- -----  ----

               502935                    12


评论

共有 条评论