How to extract and recognise the vechile plate number with matlab?
1 次查看(过去 30 天)
显示 更早的评论
I want to develop an matlab program that can extract and recognise the plat number of vechile with templete mactching method. Here is my code..
function letters = PengenalanPlatMobil(citra)
%load NewTemplates
%global NewTemplates
citra=imresize(citra,[400 NaN]); % Resizing the image keeping aspect
ratio same.
citra_bw=rgb2gray(citra); % Converting the RGB (color) image to gray
(intensity).
citra_filt=medfilt2(citra_bw,[3 3]); % Median filtering to remove
noise.
se=strel('disk',1);
citra_dilasi=imdilate(citra_filt,se); % Dilating the gray image with
the structural element.
citra_eroding=imerode(citra_filt,se); % Eroding the gray image with
structural
element.
citra_edge_enhacement=imsubtract(citra_dilasi,citra_eroding);
%Morphological
Gradient for edges enhancement.
imshow(citra_edge_enhacement);
citra_edge_enhacement_double=mat2gray(double(citra_edge_enhacement)); %
Converting the class to double.
citra_double_konv=conv2(citra_edge_enhacement_double,[1 1;1 1]);
%Convolution
of the double image f
citra_intens=imadjust(citra_double_konv,[0.5 0.7],[0 1],0.1);
%Intensity
scaling between the range 0 to 1.
citra_logic=logical(citra_intens); % Conversion of the class from double
to binary.
% Eliminating the possible horizontal lines from the output image of
regiongrow
% that could be edges of license plate.
citra_line_delete=imsubtract(citra_logic,
(imerode(citra_logic,strel('line',50,0))));
% Filling all the regions of the image.
citra_fill=imfill(citra_line_delete,'holes');
% Thinning the image to ensure character isolation.
citra_thinning_eroding=imerode((bwmorph(citra_fill,'thin',1)),
(strel('line',3,90)));
%Selecting all the regions that are of pixel area more than 100.
citra_final=bwareaopen(citra_thinning_eroding,125);
[labelled jml] = bwlabel(citra_final);
% Uncomment to make compitable with the previous versions of MATLAB®
% Two properties 'BoundingBox' and binary 'Image' corresponding to these
% Bounding boxes are acquired.
Iprops=regionprops(labelled,'BoundingBox','Image');
%%%OCR STEP
[letter{1:jml}]=deal([]);
[gambar{1:jml}]=deal([]);
for ii=1:jml
gambar= Iprops(ii).Image;
letter{ii}=readLetter(gambar);
% imshow(gambar);
%
end
end
end
2 个评论
Image Analyst
2016-10-28
The poster claims it's "an matlab program that can extract and recognise the plat number of vechile with templete mactching method." Why do you ask?
回答(1 个)
Image Analyst
2013-8-1
We don't know how good, robust, or flexible your algorithm is. You can see published algorithms in Section 16.7.2.5 here: VisionBib. I bet they're a good bit longer than your code.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!