%Strichcode auf DVDs finden
%function dvd(I)
%I: Bild mit der DVD
function P5(Bild)				

%Schwellwert nach Otsuverfahren
Schwellwert = graythresh(Bild);			

%B=binarisiertes Bild 
B = im2bw(Bild,Schwellwert);
%invertieren
B = 1-B;			

%BoundingBox
%Eigenschaften der gelabelten Objekte 
Elemente = regionprops(B,'BoundingBox');	
%Koordinatenspeicherung
anz = numel(Elemente);				

maxs = Elemente(1).BoundingBox(1);		
maxz = Elemente(1).BoundingBox(2);
maxb = Elemente(1).BoundingBox(3);
maxh = Elemente(1).BoundingBox(4);

for i=2:anz
    if Elemente(i).BoundingBox(3) > maxb
       maxs = Elemente(i).BoundingBox(1);
       maxz = Elemente(i).BoundingBox(2);
       maxb = Elemente(i).BoundingBox(3);
       maxh = Elemente(i).BoundingBox(4); 
    end
end


%Mittelpunktsbestimmung				
BBoxBreite = maxb/2;				%maxb der BoundingBox halbieren in mboxb speichern
BBoxHoehe = maxh/2;				%maxh der BoundingBox halbieren in mboxh speichern
b = maxz+BBoxHoehe;				%b ist gleich maximale zeile  + haelfte der maximalen hoehe
a = maxs+BBoxBreite;				%a ist gleich maximale spalte + haelfte der maximalen breite
a
b


%Radius					

r=0.965*BBoxHoehe;				%r ist gleich 0.965 von maximaler BoundBox-hoehe
r
%Kreisfunktion
[k,l] = kreis(a,b,r);			


imshow(B);				
figure;					
imshow(Bild);				
hold on;				
plot(a,b,'r*');				
for i=1:l				
    plot(k(i,1),k(i,2),'r.');		
    linescan(i) = B(k(i,2),k(i,1));
end
figure;					
plot(linescan);				