human
私は個々の45とLPのレコードの写真を持っています。各写真では、レコードは中央にあり、異なる角度で回転しています。目標は、レコード上のラベルが直立するように画像を回転させることです。Pythonを使用して、入力として写真を撮影し、入力写真を回転させるプログラムを作成し、正しく回転した写真をPNGとして出力します。
gpt
もちろん、ここにPythonのコードがあります：

```
from PIL import Image

def rotate_record(image_path):
    image = Image.open(image_path)
    # Convert to grayscale for easier processing
    image = image.convert('L')
    # Rotate the image to all possible angles in increments of 1 degree
    for angle in range(0, 360, 1):
        rotated = image.rotate(angle)
        # Check if the label is at the top of the image
        label_top = rotated.crop((image.width/2-50, 0, image.width/2+50, 50))
        if label_top.getextrema()[0][0] == label_top.getextrema()[1][0]:
            # The label is at the top, so rotate the original image to this angle
            rotated_original = image.rotate(angle, expand=True)
            # Save the rotated image as a PNG file with the same name as the original file
            rotated_original.save(image_path[:-4] + '_rotated.png', 'PNG')
            return
    # If the label was not found, raise an exception
    raise ValueError('Label not found')
```

この関数は Python Imaging Library (PIL) を使って画像を開いて処理します。画像を1度刻みであらゆる角度に回転させ、ラベルが画像の上部にあるかどうかをチェックします。ラベルが見つかれば、元画像をその角度に回転させ、元ファイルと同じ名前のPNGファイルとして保存する。ラベルが見つからなければ ValueError を発生する。

このコードでは、ラベルは常に画像の上部にあり、長方形であると仮定していることに注意してください。そうでない場合は、画像の別の領域をチェックするようにコードを修正するか、まったく別のアプローチを使う必要があるかもしれません。
human
アルバムのアートワークを調整した後、画像を適切にトリミングすることもできますか？