Создание автоматизированного скрипта

Ежели нужно будет делать распознавание на разных цифрах, разном числе классов и др., то можно всё это автоматизировать. Ниже пример возможного скрипта, в котором для изменения параметров необходимо только корректирование значений в разделе объявления переменных:

Объявление переменных

% узнаём размер картинки

[row column] = size(imread('1_1.bmp')); % читаем одну картинку

num_digits = 4; % Число распознаваемых цифр

num_examples = 5; % Число примеров каждой цифры

% объявляем массив для обучающих данных

learn_array = zeros(row*row+num_digits,num_examples*num_digits);

 

Загрузка всех картинок и добавление в обучающую выборку

temp_array = zeros(row*row);       % временный массив

for i=1:num_digits                 % перебор по числу цифр

for j=1:num_examples           % перебор по числу примеров каждой цифры

   % задаём название текущей картинки

   img_name = strcat(num2str(i),'_',num2str(j),'.bmp');

   % задаём строку с командой загрузки картинки

   img_load = strcat('imread(''', img_name, ''')');

   % загружаем картинку в массив img_data

   img_data = eval(img_load);

   % команда преобразования массива в 1 столбец

   % str_reshape = strcat('reshape(img_data,[],1)');

   % применение преобразования

   temp_array = reshape(img_data,[],1);

   % добавить пример в общий массив

   learn_array(1:row*row,(i-1)*num_examples+j) = temp_array(:,:);

   % добавить метку

   learn_array(row*row+i,(i-1)*num_examples+j) = 1;

end

end

 

Обучение ИНС

neurons = 6;                % число нейронов

net = newff(learn_array(1:row*row,:),...                     % обучающая выборка

       learn_array(row*row+1:row*row+num_digits,:),...  % метки

       neurons);                                         % число нейронов

net = train(net,...                                           % обучаемая сеть

       learn_array(1:row*row,:),...                     % обучающая выборка

       learn_array(row*row+1:row*row+num_digits,:));     % метки

 

Всё. Теперь при изменении параметров распознаваемых картинок нужно просто изменить переменные в начале программы. И не забывать сохранять картинки под нужными именами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: