質問: 9.25e-43 良くわからない そこでopencvのデータに(img[0][0]のデータが660になる) 660(`imarr[0][0]`)/9.25e-43(`img[0][0]`) を全配列に掛けてみた。 `img * 660/9.25e-43` すると、PILのと同じ値に変換できた。 どうやら定数が掛けているよう。 ### 追記(4)2018/10/19 そもそもtifファイルがtifに準拠したフォーマットになっているか確認する。 tifをバイナリエディタで開き中にあるタグの情報を確認する。 その後フリーのtif解析ソフトを使って確認してみる。(自信なかったので...) 以下、その結果を貼ります。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/3505b99a1c678734c55dc196886c68a7.png)
回答: 2つのライブラリの色情報の扱い方の差からきているのだと思います。`PIL`では普通にRGBで色を持ちますが、OpenCVではなぜかBGRで色を持ちます。その結果、2つのライブラリで値が対応しなくなり、有名なものだとPILからOpenCVへ変換すると画像が青くなるという現象が起きます。 https://qiita.com/yusukeasari/items/3eaddfbb3a25f37d8e08 [追記] こちらでいろいろやってみた結果のリンクを張っておきます。 https://gist.github.com/Hayashi-Yudai/9bd527c69cd6e9265de45d4a637dc121 こちらにtiffファイルがなかったのでjpegでやったのですが、rbgの値はcv2とPILで若干違いますね。あとimg[0][0]はRGBそれぞれの値が格納されているはずなので長さ3のリストが返ってくると思うのですが、そちらの出力を見ると数字1つが返ってきているようです。これはどこかがおかしいと思うのですがどうでしょう?