Почему я получаю «Индексирование точек не поддерживается для переменных этого типа». ошибка в matlab, когда я использую самообучающийся ocr? - PullRequest
0 голосов
/ 01 мая 2020
location= 'filepath\*.jpg';
ds = imageDatastore(location);
fid = fopen('noPlate.txt', 'wt');

while hasdata(ds) 
    img = read(ds) ;             
    gray = rgb2gray(img);
    gray = medfilt2(gray, [3 3]);
    ocrResults     = evaluateOCRTraining(gray);
    recognizedText = ocrResults.Text;
    fprintf(fid,'%s\n', recognizedText);    
    fprintf(fid,'%s\n', '\n');

end
fclose(fid); 
winopen('noPlate.txt')


function [ocrI, results] = evaluateOCRTraining(I, roi)

trainedLanguage ='Location of trained OCR language data'; 

layout = 'Block';
if nargin == 2
    results = ocr(I, roi, ...
        'Language', trainedLanguage, ...
        'TextLayout', layout);
else
    results = ocr(I, ...
        'Language', trainedLanguage, ...
        'TextLayout', layout);
end

точная ошибка: индексирование точек не поддерживается для переменных этого типа.

Я использую следующий код для извлечения текста из изображения, используя мой самообучающийся ocr. Но Matlab продолжает выдавать эту ошибку. Если я заменю свою функцию ocr на общую функцию ocr matlab, код будет работать нормально.

...