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, код будет работать нормально.