필터 지우기
필터 지우기

How i can write extracted text in text file

조회 수: 1 (최근 30일)
Dinesh Satelkar
Dinesh Satelkar 2017년 2월 9일
편집: KSSV 2017년 2월 9일
Dear sir i want to convert image text into text file so i write the code but can't able to write extracted text into text file please sugest
this is my code
%%Image segmentation and extraction
%%Read Image
imagen=imread('img1.jpg');
%%Show image
figure(1)
imshow(imagen);
title('INPUT IMAGE WITH NOISE')
%%Convert to gray scale
if size(imagen,3)==3 % RGB image
imagen=rgb2gray(imagen);
end
%%Convert to binary image
threshold = graythresh(imagen);
imagen =~im2bw(imagen,threshold);
%%Remove all object containing fewer than 30 pixels
imagen = bwareaopen(imagen,30);
pause(1)
%%Show image binary image
figure(2)
imshow(~imagen);
title('INPUT IMAGE WITHOUT NOISE')
%%Label connected components
[L, Ne]=bwlabel(imagen);
%%Measure properties of image regions
propied=regionprops(L,'BoundingBox', 'Image');
hold on
%%Plot Bounding Box
for n=1:size(propied,1)
rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2)
end
hold off
pause (1)
%%Objects extraction
figure
for n=1:Ne
[r,c] = find(L==n);
n1=imagen(min(r):max(r),min(c):max(c));
imshow(~n1);
pause(0.5)
end
propied=regionprops(L,'BoundingBox','Image');
% Selecting all the bounding boxes in matrix of order numberofboxesX4;
NR=cat(1,propied.BoundingBox);
% Calling of controlling function.
r=controlling(NR); % Function 'controlling' outputs the array of indices of boxes required for extraction of characters.
if ~isempty(r) % If succesfully indices of desired boxes are achieved.
I={propied.Image}; % Cell array of 'Image' (one of the properties of regionprops)
text=[]; % Initializing the variable of number plate string.
for v=1:length(r)
N=I{1,r(v)}; % Extracting the binary image corresponding to the indices in 'r'.
letter=readLetter(N); % Reading the letter corresponding the binary image 'N'.
while letter=='O' || letter=='0' % Since it wouldn't be easy to distinguish
if v<=3 % between '0' and 'O' during the extraction of character
letter='O'; % in binary image. Using the characteristic of plates in Karachi
else % that starting three characters are alphabets, this code will
letter='0'; % easily decide whether it is '0' or 'O'. The condition for 'if'
end % just need to be changed if the code is to be implemented with some other
break; % cities plates. The condition should be changed accordingly.
end
text=[text letter]; % Appending every subsequent character in noPlate variable.
end
fid = fopen('textltr.txt', 'wt'); % This portion of code writes the number plate
fprintf(fid,'%s\n',text); % to the text file, if executed a notepad file with the
fclose(fid); % name noPlate.txt will be open with the number plate written.
winopen('textltr.txt')
% Uncomment the portion of code below if Database is to be organized. Since my
% project requires database so I have written this code. DB is the .mat
% file containing the array of structure of all entries of database.
% load DB
% for x=1:length(DB)
% recordplate=getfield(DB,{1,x},'PlateNumber');
% if strcmp(noPlate,recordplate)
% disp(DB(x));
% disp('*-*-*-*-*-*-*');
% end
% end
else % If fail to extract the indexes in 'r' this line of error will be displayed.
fprintf('Unable to extract the characters from the number plate.\n');
fprintf('The characters on the number plate might not be clear or touching with each other or boundries.\n');
end

답변 (0개)

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by