Ich habe Fotos von einzelnen 45 und LP-Aufzeichnungen. Auf jedem Foto ist der Datensatz in der Mitte und wird in verschiedenen Winkeln gedreht. Ziel ist es, das Bild so zu drehen, dass das Label auf der Platte aufrecht ist. Mit Python, schreiben Sie ein Programm, das ein Foto als Eingang nimmt und dreht das Eingabefoto, dann geben Sie das korrekt gedrehte Foto als PNG.
Hier ist ein Python-Code, der das beschriebene Bild aus PIL-Import Bild def rotate_record(image_path): image = Image.open(image_path) # Konvertieren in Graustufen für eine einfachere Verarbeitung des Bildes = image.convert('L') # Drehen Sie das Bild auf alle möglichen Winkel in Schritten von 1 Grad für Winkel im Bereich(0, 360, 1): rotated = image.rotate(angle) # Überprüfen Sie, ob das Etikett an der Spitze des Bildes label_top = rotated.crop((image.width/2-50, 0, image.width/2+50, 50)) ist, wenn label_top.getextrema()[0] == label_top.getextrema()[0]: # Das Label ist an der Spitze, so drehen Sie das Originalbild zu diesem Winkel rotated_oritalt = image.rotate(angle, expand=True) # Speichern Sie das rotierte Bild als PNG-Datei mit dem gleichen Namen wie die Originaldatei rotiert.