pythonで、画像のカメラ方位を変更して表示する方法


デジカメ画像をモニターに表示する際、固定されたカメラ方位を変更し、図のように画像の表示方位を変えた状態にするにはどうすればよいのでしょうか？[![画像のカメラ方位の変換](https://i.stack.imgur.com/auJ2s.jpg)](https://i.stack.imgur.com/auJ2s.jpg)




pythonで画像処理はPillowらしいです。  
<https://note.nkmk.me/python-pillow-basic/>

今回はこの辺でしょうか。  
<https://note.nkmk.me/python-pillow-concat-images/>

> 余分な部分をカットして連結（結合）  
>  PillowのImage.paste()では貼り付け先の画像の範囲外にはみ出した部分は無視される（カットされる）。

画像がつながるかは別にして、こんな感じでしょうか。

[code]

    from PIL import Image
    
    def pan_panorama(img, pan):
        """ pan: パンする角度、右回り（左へスライド）する
        """
        width = img.width
        pan = pan % 360 * width // 360
        dst = Image.new('RGB', img.size)
        dst.paste(img, (-pan, 0))
        dst.paste(img, (width-pan, 0))
        return dst
    
    if __name__ == '__main__':
        img = Image.open('panorama.jpg')
        new_img = pan_panorama(img, 120)
        new_img.save('panned.jpg')
    
[/code]




pythonで画像処理はPillowらしいです。  
<https://note.nkmk.me/python-pillow-basic/>

今回はこの辺でしょうか。  
<https://note.nkmk.me/python-pillow-concat-images/>

> 余分な部分をカットして連結（結合）  
>  PillowのImage.paste()では貼り付け先の画像の範囲外にはみ出した部分は無視される（カットされる）。

画像がつながるかは別にして、こんな感じでしょうか。

[code]

    from PIL import Image
    
    def pan_panorama(img, pan):
        """ pan: パンする角度、右回り（左へスライド）する
        """
        width = img.width
        pan = pan % 360 * width // 360
        dst = Image.new('RGB', img.size)
        dst.paste(img, (-pan, 0))
        dst.paste(img, (width-pan, 0))
        return dst
    
    if __name__ == '__main__':
        img = Image.open('panorama.jpg')
        new_img = pan_panorama(img, 120)
        new_img.save('panned.jpg')
    
[/code]

