ich muß inner halb meiner Diplomarbeit ein Bild eines Objektes machen und dies dann Analysieren. Um das Objekt immer grade zu haben filtere ich einen Rahmen die linke und rechte obere ecke herraus und berechne dann den Winkel um den ich es drehen muß. Leider kann es passieren wenn das Objekt sehr lang ist das nach der Rotation teile vom Objetkt fehlen und auch die Ecken die vorher nicht da waren sind schwarz kann man dagen was tun. Am liebsetn wöre mir einfach das bild so drehen wie es ist leider kann ich das aber nur um 90,180,270 grad. Mein teil prog sieht so aus. Kann mir da einer helfen. Danke
Code: Alles auswählen
img=Image.open('c:\\diplomarbeit\\test\\test.bmp')
img = img.convert("L")
size = img.size
srcImg = img.getdata()
lnPix = size[0]
for y in range(size[1]-1,-1,-1):
for x in range(size[0]-1,-1,-1):
lnPix -= 1
f = srcImg[lnPix]
if f == 0:
obenx = x
obeny = y+1
for x in range(size[0]-1,-1,-1):
for y in range(size[1]-1,-1,-1):
f = img.getpixel((x,y))
if f == 0:
untenx = x
unteny = y
t = math.degrees(math.acos(((obenx-untenx)/(math.sqrt(pow((obenx-untenx),2)+ pow((unteny-obeny),2))))))
img=img.rotate(-(t), resample=0)
#img = img.transpose(Image.ROTATE_90)
img=img.show()