ビギグラマーのノート

自作PCやプログラミングについてのブログです。

『OpenCV for iOS』ポートレート撮影しUIImageToMatすると画像が横向く

 はじめに

 いつにも増して題名がイミフですので、写真で説明しましょう。

f:id:BegiGrammer:20180904002121p:plain

 上の段が現在カメラで見えているものです。そしてその下の段がOpenCVのUIImageToMat・MatToUIImageを経てUIImageViewに貼り付けられた画像になります。ポートレートで撮影しているにも関わらず、横向きになっていることがわかります。これをどうにかしようとするのがこの記事になります。

原因と解決法

 iPhoneの縦長撮影は実を言うと横向き撮影とデータは変わりません。そのためkeyで横向き・縦向きを制御しているのですが、OpeCVのMatに変換されるとそのkeyが脱落してしまいます。そのため90度回転した画像が送られてくるわけです。

 以下が元々のキーを付け直す作業になります。

ネタ元

stackoverflow.com