質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1232閲覧

顕微鏡で取得した画像の数値化

hiraimar

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/10/11 07:24

顕微鏡で取得した蛍光画像(tiffファイル)をpillowで開き、numpyのarrayで数値化して解析しようとしております。
取得した画像は以下のようなのですが、

イメージ説明

img = Image.open("20181011-test_ch3_t1.tif") img.show()

で開くと、

イメージ説明

上の画像のように真ん中の情報の欲しい部分がsaturateしてしまっており、コントラストがまるっきり失われてしまいます。numpy arrayの数値上でもsaturateしてしまい、その部分はまったく同じ数値になっております。
もとの画像の formatはTIFF, sizeは(512, 512), modeはI;16です。
ファイル形式をpngに変えて表示させても、同様な画像になってしまいます。

もとの画像をsaturateさせずに数値情報を得るにはどのようにしたらよろしいのでしょうか?
このサイトでは少しマニアックな質問かもしれないのですが、どなたか教えて頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python

1import cv2 2import numpy as np 3 4img = cv2.imread("test.png", cv2.IMREAD_UNCHANGED) # 画像をオリジナルのまま読み込む。 5print(img.dtype) # uint16 6 7img = cv2.imread("test.png", cv2.IMREAD_GRAYSCALE) # グレースケール画像として読み込む。 8print(img.dtype) # uint8 9 10cv2.imwrite('sample.png', img)

画像のビット深度が 16bit なので、PIL は対応していない可能性があります。
OpenCV では正常に読み込めました。

投稿2018/10/11 07:34

編集2018/10/11 07:49
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiraimar

2018/10/11 22:43

ご教示ありがとうございます! 画像を8bitに変更し、PILで再度開いたところ、見た目通りに開きました! ビット深度には、思考がまったく行きませんでした。ナルホドです。 ご教示がなければ、ますますどハマっていたと思います。 助かりました。 ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問