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

    clear;clc;close all;imtool close all

%% 夋憸偺撉崬傒\帵
G = imread('I5_03_1_ocr\IMG_2517_cable.jpg');
figure;imshow(G);

%% 暥帤偺偐偡傟傪庢傞乮敀偄彫偝側晹暘偺彍嫀乯
G1 = imopen(G, ones(6));     %廂弅=>朿挘
figure;imshow(G1);

%% 儃僩儉僴僢僩張棟偱丄帤偺晹暘偺傒傪巆偡
G2 = imbothat(G1, ones(18));   %Close - 尨夋
figure;imshow(G2);

%% 暥帤擣幆
results = ocr(G2)

%% 奺専弌椞堟偺妋搙傪昞帵
Ic = insertObjectAnnotation(G2, 'rectangle', results.WordBoundingBoxes, results.WordConfidences, 'FontSize', 30);
imtool(Ic);

%% 妋搙偺崅偄暥帤偺傒傪昞帵
valid = (results.WordConfidences > 0.6) & ~strcmp(results.Words, '')   %妋搙偑0.5埲忋偺傕偺傪庢弌偡丅夵峴偺専弌寢壥傕彍嫀
Ir = insertObjectAnnotation(G, 'rectangle', results.WordBoundingBoxes(valid,:), results.Words(valid), 'FontSize',40);
imtool(Ir);

%%












%% 壒惡偵傛傞撉傒忋偘
NET.addAssembly('System.Speech');   %.NET傾僙儞僽儕偺撉崬傒
speak = System.Speech.Synthesis.SpeechSynthesizer; speak.Volume = 100;
speak.SelectVoice('偗偄偙');
words = results.Words(valid);
speak.Speak(['嵟弶偺斣崋偼丄' words{1}]);



%% 壒惡偵傛傞撉傒忋偘 (塸岅壒惡崌惉僄儞僕儞偼Windows偵晅懏)
NET.addAssembly('System.Speech');   %.NET傾僙儞僽儕偺撉崬傒
speak = System.Speech.Synthesis.SpeechSynthesizer;
speak.Volume = 100;
words = results.Words(valid);
speak.Speak(['The first number is' words{1}]);



%% 廔椆







%% 擔杮岅偺撉傒忋偘偵偼丄暿搑擔杮岅壒惡崌惉僄儞僕儞偑昁梫
%  塸岅偵娭偟偰偼Windows偵撪憻

%% 夋憸偺撉崬傒\帵
G = imread('I5_3_ocr\IMG_2517_cable.jpg');
figure;imshow(G);
%% 暥帤擣幆乮ROI傪巊梡乯
results2 = ocr(G, [2020 900 790 380])
results2 = ocr(G, [1900 900 890 380])
results2 = ocr(G, [1800 900 1000 380])
results2 = ocr(G, [1990 900 800 380])
%% 奺専弌椞堟偺妋搙傪昞帵
Ic2 = insertObjectAnnotation(G, 'rectangle', results2.WordBoundingBoxes, results2.WordConfidences, 'FontSize', 30);
imtool(Ic2);

%% 寢壥偺昞帵
Ir2 = insertObjectAnnotation(G, 'rectangle', results2.WordBoundingBoxes, results2.Words, 'FontSize',40);
imtool(Ir2);

%% 廔椆




%% 偡傋偰偺暥帤傪撉傒忋偘傞応崌
speak.Speak('斣崋偼');
words = regexprep(results.Words(valid), '$', ' ','emptymatch')   % 暥帤楍偺嵟屻偵僗儁乕僗傪憓擖
speak.Speak([words{:}]);

%% 壒惡偵傛傞撉傒忋偘 (English)
NET.addAssembly('System.Speech');   %.NET傾僙儞僽儕偺撉崬傒
speak = System.Speech.Synthesis.SpeechSynthesizer; speak.Volume = 100;
words = results.Words(valid);
speak.Speak(words{1});

%% 暿偺張棟僗僥僢僾
G1 = imerode(G, ones(4));     %敀偄晹暘傪嶍傝丄帤傪懢偔偔偭偒傝偝偣傞
G2 = imbothat(G1, ones(19));  %儃僩儉僴僢僩張棟偱帤偺晹暘偺傒庢弌偡
results = ocr(G2)             %OCR

% Copyright 2014 The MathWorks, Inc.