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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google サイト

Google サイトは、Google社が提供する無料のホームページ作成ツールです。プログラミングやデザインなどの知識がなくても、ブラウザから容易にWebページを作成することが可能。新たなページの追加も簡単でページ数には制限がありません。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

2回答

3075閲覧

申し訳ありません。EXR形式は一画素何ビットですか?

退会済みユーザー

退会済みユーザー

総合スコア0

Google サイト

Google サイトは、Google社が提供する無料のホームページ作成ツールです。プログラミングやデザインなどの知識がなくても、ブラウザから容易にWebページを作成することが可能。新たなページの追加も簡単でページ数には制限がありません。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2021/11/24 07:56

申し訳ございません。
どこで質問をすればいいのかわからなかったため、ここで質問しました。

教えていただきたいのは、
.exrが1画素何ビットの画像なのか?
と言うことです。

プログラムでOpenEXRを使用して、HDR画像を保存しています。
その画像を使いPSNRという評価指標のプログラムで評価しています。
その比較のためには、EXR形式のが1画素何ビットなのかが必要なのですが、自分にはわかりませんでした。

こちらのサイトOpenEXR ファイル

OpenEXR には以下の特徴があります。

・既存の 8 ビットおよび 10 ビット イメージ ファイル形式に比べて、ダイナミック範囲と色精度が向上。

・16 ビット浮動小数点、32 ビット浮動小数点、および 32 ビット整数ピクセルのサポート。「Half Float(ハーフ フロート)」と呼ばれる 16 ビット浮動小数点形式は、NVIDIA 社の Cg グラフィック言語の half データ型と互換性があり、NVIDIA 社の新しい GeForce FX および Quadro FX 3D グラフィックス ソリューションでネイティブでサポートされています。

となっています。
ここには、16bitと32bitの2つがあります。
ここで最初に引っ掛かるのは、

「Half Float(ハーフ フロート)」と呼ばれる 16 ビット浮動小数点形式は、NVIDIA 社の Cg グラフィック言語の half データ型と互換性があり、NVIDIA 社の新しい GeForce FX および Quadro FX 3D グラフィックス ソリューションでネイティブでサポートされています。

となっているので、ここでサポートされている時だけ16bitなのかなと思いました。

しかし、OpenEXR ファイルの保存では

形式

出力ファイルのメイン レイヤのピクセルのビット深度を指定します。一般には、浮動小数点精度を使用すると後処理アプリケーションでより柔軟に操作できますが、ディスク容量を多く使用します。

・[フル浮動小数 - 32 ビット/チャネル](Full Float (32-bits/Channel)) ピクセル値は、32 ビット浮動小数点値として保存されます。

・[ハーフ浮動小数 - 16 ビット/チャネル](Half Float (16-bits/Channel)) (既定値) ピクセル値は、16 ビット浮動小数点値として保存されます。

注: このオプションが OpenEXR の「標準」であるという考え方もあります。多くの後処理アプリケーションはこのオプションのみをサポートし、32 ビット浮動小数点値の EXR ファイルを読み込めません。

整数 - 32 ビット/チャネル ピクセル値は、32 ビットの整数として保存されます。

となっています。
ここで引っ掛かるのは

注: このオプションが OpenEXR の「標準」であるという考え方もあります。多くの後処理アプリケーションはこのオプションのみをサポートし、32 ビット浮動小数点値の EXR ファイルを読み込めません。

ここです。
自分はプログラムでOpenEXRを使用しているだけなので、オプションなどなく設定などは何もしていません。
また、映像データの取り扱いに関する技術セミナーに向けた, 教材作成並びに講師派遣委託事業の15ページで

画像フォーマット RGB ごとの最大ビット深度 備考

OpenEXR       16bit HDR 画像として扱われる

とありました。なにが正しいのかわかりません。

EXR形式の画像は1画素何ビットなのでしょうか?
または、その画像が何ビットなのか調べる方法はありますか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

  • EXR形式の画像は1画素何ビットなのでしょうか?

16ビットの倍数であるということ以上はわかりません。
1チャネル当たりのビット数は16ビットか32ビットです。
しかし、任意の数のチャネルをサポートしているので、それをNとすれば16Nビットあるいは32Nビットです。

たとえば、
グレースケールのJPEG: 1チャネル256諧調: 18 = 8ビット
カラーのJPEG : 3チャネル256諧調: 3
8 = 24ビット
モノクロ2階調のPNG: 1チャネル2諧調: 11 = 1ビット
グレースケールのPNG: 1チャネル256諧調: 1
8 = 8ビット
カラーのPNG : 3チャネル256諧調: 38 = 24ビット
αチャネル付PNG : 4チャネル256諧調: 4
8 = 32ビット

EXR形式の画像はチャネル数を任意に指定できるのでわからない。が答えです。

詳しくは、Technical Introduction to OpenEXRをお読み下さい。

投稿2021/11/24 09:50

編集2021/11/24 11:37
ppaul

総合スコア24666

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

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

退会済みユーザー

退会済みユーザー

2021/11/24 11:19

グレースケールのJPEG: 1チャネル256諧調: 1*8 = 8ビット カラーのJPEG : 3チャネル256諧調: 3*8 = 24ビット の書き方をするなら 16bitのときRGBの3チャンネルなら 3*16 = 48ビットと言うことですか? サイトは、今目を通したのですが、理解できなかったので明日質問させてください。 お願い致します
ppaul

2021/11/24 11:36

16bitのときRGBの3チャンネルなら 3*16 = 48ビットと言うことですか? そうです。
退会済みユーザー

退会済みユーザー

2021/11/25 05:52

実はPSNRという評価方法のために調べているのですが、 https://qiita.com/Daiki_P/items/94662fd340aa0381b323 のサイトのプログラムを使用しています。 サイトには 扱う画像は8[bit]であるとする. このとき, 画素値は0から255の値をとるので, 画素値の最大値は255となる. とあったので、頭の中がわからなくなりました。 https://www2.epson.jp/katsuyou/photo/archive/chishiki/seminar/pdf/jikkenshitsu4_A4.pdf のサイトでは、8[bit]の画像はカラーなのかグレーなのかです。 .exrの画素値はどうしたらいいのかです。 $ sips -g all 000010_out.exr /Users/1831083/hdrcnn/hdrcnn-master/out/000010_out.exr pixelWidth: 640 pixelHeight: 864 typeIdentifier: com.ilm.openexr-image format: exr formatOptions: default dpiWidth: 72.000 dpiHeight: 72.000 samplesPerPixel: 4 bitsPerSample: 16 hasAlpha: yes space: RGB profile: sRGB IEC61966-2.1 Linear と実行したところ、 bitsPerSample: 16となったので、16bitということでしょうか?
退会済みユーザー

退会済みユーザー

2021/11/25 06:03

さきほどのもので疑問に思ったのですが、 自分は 16bitのときRGBの3チャンネルなら 3*16 = 48ビットと言うこと と思っていたのですが、 先程の結果を見ると samplesPerPixel: 4 bitsPerSample: 16 となっていました。 これは 4チャンネルあり、1チャンネル16ビットということでしょうか? space: RGB profile: sRGB IEC61966-2.1 Linear とあるので、てっきり3チャンネルだと思っていました。
ppaul

2021/11/25 06:41

αを何と読むかご存知ですか?
退会済みユーザー

退会済みユーザー

2021/11/25 06:45

アルファですよね。 昨日教えていただいたサイトに載っているので、存在は知りました。
退会済みユーザー

退会済みユーザー

2021/11/25 06:47

任意の画像チャネル OpenEXR画像には、赤、緑、青、アルファなど、任意の数と画像チャネルの組み合わせを含めることができます。輝度およびサブサンプリングされたクロマチャネル。深さ、表面の法線方向、または動きベクトル。 とあったので、知っているのですがPSNRを使う際に、画素値の最大値はどうすればいいのかわからなくなってしまい、焦って質問している状態です。
ppaul

2021/11/25 07:22

昨日知ったのではまだわからないかもしれないですね。 hasAlpha: yes space: RGB ということはRGBで3チャネル、アルファで1チャネルの合計4チャネルだという意味です。
退会済みユーザー

退会済みユーザー

2021/11/25 07:31

なるほど、 お聞きしたいのですが、 https://qiita.com/Daiki_P/items/94662fd340aa0381b323 こちらのプログラムを使い、PSNRをしているのですが、 最後の 255を65535にして使っています。 これでいいのでしょうか? 前にも言った通り自分は今まで、.exrは16bitの3チャンネルだと思っていました。(もしくは32bit) そのため、最大値を変えれば問題ないと思っていたのですがどうでしょうか?
ppaul

2021/11/25 07:57

32ビット整数の3チャネルあるいは4チャネルの場合には、画像を読み込んでnumpy.int64のdtypeを持つndarrayに読み込めれば、255を4294967295にするのでしょうね。 32 ビット浮動小数点数、16ビット浮動小数点数の場合は、そういう単純な書き換えではないでしょう。
退会済みユーザー

退会済みユーザー

2021/11/25 08:11

そうですか.... 255を4294967295に変えて実行したところ 167.5648223700176 とありえない数字が出たので、ひとまず65535で行うことにします。 本来の範囲から外れても、答えてくださり誠にありがとうがざいました。
guest

0

OpenEXRの知識はまるでないのですが、引用されている文書を読む限りでは、

  • 画像ファイルによって、1画素のビット数は異なる(3種類のどれか)
  • たいていの場合は Half Float が使われている

ファイルの中にどの種類なのか書いてあるのでしょう。

…ちょっと調べてみましたら、chlist attribute 中の pixel type に格納されているようですね。

投稿2021/11/24 08:18

int32_t

総合スコア20878

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

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

退会済みユーザー

退会済みユーザー

2021/11/24 11:07

> chlist attribute 中の pixel type に格納されているようですね。 見る方法は分かりませんか?
int32_t

2021/11/24 14:39

> 見る方法は分かりませんか? 知りません。 既にOpenEXRを扱うコードを書いているなら、簡単にできるはずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問