clc clear close all alan=zeros(4,1); k=1; I = imread('plk.jpg'); %görüntüyü oku figure, imshow(I); %okunan görüntüyü gösterir Ig = rgb2gray(I); %renkli görüntüyü gri seviyeye çevirir figure, subplot(2,2,1), imshow(Ig); %soldaki resim olarak gösterir Ih = histeq(Ig); %histogramı eşitleyerek kontrastı artırır subplot(2,2,2), imshow(Ih); %sağdaki resim olarak gösterir figure, subplot(1,2,1), imhist(Ig); %griye çevrilen görüntü üzerindeki değerlerin dağılımını gösterir subplot(1,2,2), imhist(Ih); Ie = edge(Ih, 'sobel'); %sobel kenar bulma algoritmasıyla kenarlar bulunur figure, subplot(1,2,1), imshow(Ie); Id = imdilate(Ie, strel('diamond',1)); %morfolojik işlem olan genişletme algoritması subplot(1,2,2), imshow(Id); %strel yapısal filtre elemanıdır. morfolojik işlemi hangi şekil ve parametreyle yapacağımızı gösterir If = imfill(Id,'holes');%imfiil komutu resimde çukur denilen yerleri doldurur. figure, imshow(If); %yani gri seviyede veya binary modda açıklıkları doldurur [lab, n] = bwlabel(If); % bwlabel komutu resimdeki nesneleri belirler. lab içine nesnelerin pixel değerini %n içine kaç tane nesne olduğu atılır regions = regionprops(lab, 'All'); regionsCount = size(regions, 1) ; for i = 1:regionsCount region = regions(i); RectangleOfChoice = region.BoundingBox; PlateExtent = region.Extent; PlateStartX = fix(RectangleOfChoice(1)); PlateStartY = fix(RectangleOfChoice(2)); PlateWidth = fix(RectangleOfChoice(3)); PlateHeight = fix(RectangleOfChoice(4)); if PlateWidth >= PlateHeight*3 && PlateExtent >= 0.7 im2{k} = imcrop(I, RectangleOfChoice); temp=im2{k}; temp=im2bw(temp); figure,imshow(temp) a=regionprops(temp,'Area') if ~isempty(a) alan(k,1)=a.Area; end % figure,imshow(im2); k=k+1; end end mx=max(max((alan))); [x,y]=find(alan==mx); im3=im2{x}; im3=im2bw(im3); imshow(im3) txt=ocr(im3,'Characterset','0123456789ABCDEFGHIJKLMOUPRSTYZ','TextLayout','Block')