www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I5_03_2_myOcrTrainer.m

    clear;clc;close all;imtool close all

%% 夋憸偺撉崬傒\帵
I = imread('I5_03_2_imgPi.JPG');
figure;imshow(I);

%% 夋憸偺擇抣壔
BW = imbinarize(rgb2gray(I));
figure;imshow(BW);

%% 暥帤偺偐偡傟傪庢傞乮敀偄彫偝側敳偗傪杽傔傞乯
BW1 = imopen(BW, ones(5));     %廂弅=>朿挘
imshow(BW1); shg;

%% 暥帤擣幆丒昞帵
results = ocr(BW1)
Ir1 = insertObjectAnnotation(I, 'rectangle', results.WordBoundingBoxes, results.Words, 'FontSize',40);
figure; imshow(Ir1);truesize;

%% OCR Trainer偱丄僇僗僞儉僼僅儞僩傪妛廗乮擣幆偟偨偄暥帤傪傕傟側偔妛廗偝偣傞乯
ocrTrainer

% New Session傪僋儕僢僋
%      妛廗偝偣傞尵岅僨乕僞儀乕僗柤乮擟堄偺柤慜乯傪巜掕
%      弌椡僨傿儗僋僩儕偺巜掕乮偦偺僨傿儗僋僩儕偑偁傜偐偠傔懚嵼偡傞昁梫偁傝乯
%            妛廗幚峴屻偵帺摦揑偵壓婰偺條偵僼傽僀儖偑惗惉偝傟傞
%                  弌椡僨傿儗僋僩儕\<尵岅僨乕僞儀乕僗柤>\tesdata\<尵岅僨乕僞儀乕僗柤>.traineddata
%      Pre-label using OCR傪ON偵偟偰丄尵岅傪巜掕偟帺摦儔儀儕儞僌偝偣傞乮偙偺尵岅偼丄Pre-Label偵偺傒梡偄傜傟傞乯
%      妛廗梡夋憸(I5_03_2_7segTraining1.png)傪巜掕偟偰丄OK 乮屻偱捛壛傕壜擻乯丗
%                        - 弌棃傞偩偗暥帤晹暘偺傒愗傝弌偟偨夋憸傪巊梡丄
%                        - 奺暥帤10僒儞僾儖埲忋偼妛廗偝偣傞
%                        - '0000'傗'1111'偺傛偆側宍幃偩偗偱偼側偔幚嵺偵扨岅偲偟偰尰傟傞懠偺暥帤偲偺埵抲娭學摍傕
%                          斀塮偟偨妛廗僨乕僞傪梡偄傞
%      帺摦偱擇抣壔偝傟丄[CROP Images] 儊僯儏乕偵堏摦
%      暥帤晹暘偑敀乮慜宨乯偵側傞
%  *[拲]*彫悢揰梡偵丄Min Area傪10傑偱壓偘傞
%      暥帤偺椞堟傪ROI偲偟偰巜掕偡傞偙偲偱丄僙僌儊儞僥乕僔儑儞寢壥偺夵慞偑壜擻
%      晄揔愗側夋憸傪丄僙僢僔儑儞偐傜嶍彍偱偒傞
%         Accept偱師傊

% [OCR Trainer] 僞僽
%      巜掕偟偨婛懚OCR僨乕僞儀乕僗偱丄儔儀儕儞僌偝傟傞丅
%      僙僌儊儞僥乕僔儑儞偝傟偨寢壥傪僟僽儖僋儕僢僋偱丄尦夋憸偑昞帵偝傟丄僙僌儊儞僥乕僔儑儞偺廋惓偑壜擻
%      娫堘偭偨傕偺偺儔儀儖傪廋惓偟Enter乮暋悢慖戰壜:Shift丒Ctrl乯
%      妛廗偵巊偄偨偔側偄傕偺偼丄Unknown 僇僥僑儕乕傊暘椶
%      Settings偱丄儔儀儖偵巊梡偡傞僼僅儞僩傪慖戰壜
%   Train 儃僞儞偱丄妛廗    => 妛廗屻丄帺摦揑偵僨乕僞儀乕僗偑曐懚偝傟丄偦偺曐懚愭偑昞帵偝傟傞丅

% 僙僢僔儑儞傪曐懚偟偰傕丄妛廗梡夋憸僨乕僞偼娷傑傟側偄偺偱丄暿搑曐懚偑昁梫

%% 嶌惢偟偨僨乕僞儀乕僗偱丄暥帤擣幆丒寢壥偺昞帵
%     僨乕僞儀乕僗僼傽僀儖偼丄扨堦偺tessdata偲偄偆柤慜偺僼僅儖僟撪偵抲偔
results = ocr(BW1, 'Language', 'I5_03_2_myLang\tessdata\myLang.traineddata')
Ir2 = insertObjectAnnotation(I, 'rectangle', results.WordBoundingBoxes, results.Words, 'FontSize',40);
figure; subplot(2,1,1); imshow(Ir1); title('with original English database', 'FontSize',18);
        subplot(2,1,2); imshow(Ir2); title('with trained database', 'FontSize',18);

%% 廔椆











%% 娍帤偱儔儀儕儞僌w廗偟偨尵岅僨乕僞傪巊梡偟偨応崌
results_J = ocr(BW1, 'Language', 'I5_03_2_myLang\tessdata\myLang_J.traineddata', 'TextLayout','Word')
% 寢壥偺昞帵
Ir2_J = insertObjectAnnotation(I, 'rectangle', results_J.WordBoundingBoxes, results_J.Words, 'FontSize',30, 'Font','MS Gothic');
figure; subplot(2,1,1); imshow(Ir1  ); title('with original English database', 'FontSize',18);
        subplot(2,1,2); imshow(Ir2_J); title('with trained database', 'FontSize',18);
        
%% Copyright 2016 The MathWorks, Inc.