Хід виконання роботи
Здійснити лінійне розтягнення гістограми зображення:
srcImod = imadjust(srcImod);
Виконати медіанну фільтрацію зображення:
srcImod = medfilt2(srcImod,[3 3]);
Використаnb фільтр log:
filt = fspecial('log',[7 7], 0.3); srcImod = imfilter(srcImod,filt);
Здійснити бінаризацію зображення:
srcImod = srcImod(:,:,:) < 150;
Замкнути область рамки номера:
srcImod = imopen(srcImod,strel('disk',2)); srcImod = (bwlabel(srcImod,8));
Перебрати всі сегменти, в яких відбуватимется пошук цифр номера:
Idata = regionprops(srcImod,'Area','Image','Orientation' ,'BoundingBox','ConvexArea');
k = 1;
for i=1:length(Idata)
ratio = Idata(i).BoundingBox(3)/Idata(i).BoundingBox(4); if Idata(i).ConvexArea > 500 && ratio < 7 && ratio > 2.5 bound = floor(Idata(i).BoundingBox); numbers(k) = Idata(i);
numbers(k).Image = imcrop(srcI,bound);
k = k +1;
end
end
Далі в циклі за всіма знайденими сегментами шукати що-небудь, схоже на цифри:
count = k - 1;
k = 1;
for i=1:count
Здійснити пошук цифр:
Здійснити остаточне розпізнавання:
digareas(k).bound = PlateBounds + probdigits(i).BoundingBox;
k = k + 1;
end
if k==4, break, end
end
end
Поділіться з Вашими друзьями: |