画像ファイル形式と取得装置


Imatestは
、標準のMatlabではサポートされていないものも含め、非常に多くのファイル形式を読み込むことができます。また、Imatestは多数のデバイスからファイルを取得することも可能です。このページでは、ファイル形式とデバイス形式の一覧を示します。このページは4つのセクションに分かれています。

不良画像ファイル

ファイル拡張子が正しくありません

ほとんどのファイル形式は拡張子によって識別され、大文字と小文字は区別されません。しかし、ファイルによっては拡張子が間違っている場合があります(例えば、PNGファイルなのにJPG拡張子が付いているなど)。Imatestはこのようなファイルを正しく読み取れないことがあります。ファイルの読み取りに問題がある場合は、 Irfanview (優れた無料ユーティリティで、強くお勧めします)でファイルを開くことをお勧めします。Irfanviewは問題の説明と対処方法(通常は正しい拡張子でファイル名を変更するなど)を示すメッセージを表示します。

不良ファイルの「修復」場合によっては、 Imatest (Matlabライブラリに依存している)では読み取れないファイルでも、より堅牢な読み込みルーチンを備えているIrfanviewでは読み取れることがあります。このような場合、Irfanviewを使用して画像ファイルを「修復」し、(通常は元のファイルではないことを示すために少し異なる名前で)保存することができます。これは通常うまく機能しますが、以下のケースはまれな例外です。

color_or_not.png

色付きか、それとも色なしか?

画像ファイルはカラーかモノクロのどちらかですが、最近、カラーなのにWindowsのプロパティ表示やImatestで開いたときにモノクロに見えるファイルを発見しました。この画像(右側)は、クリックまたは右クリックしてダウンロードできます。この画像はWindowsエクスプローラー(アイコン表示)では正しく表示されますが、画像を右クリックして「プロパティ」を選択し、 「詳細」タブをクリックすると、ビット深度が8と表示され、モノクロ画像であることがわかります(カラーの場合は24または48になります)。Matlabライブラリを使用するImatestでは、モノクロ画像として開きます。Irfanviewでファイルを開いてPNGまたはTIFFとして保存してもモノクロ画像として開きますが、JPEGとして保存するとカラー画像として開きます。

このような場合の対処法について、一般的な推奨事項はありませんが、ファイルは予期せぬ形で破損する可能性があるため、プログラムの動作がおかしい場合は注意深く確認する必要があります。可能であれば、問題の根本原因を解決してください。通常は、(EXIF)メタデータを正しく設定することで解決できます。

標準(互換性のある)静止画像ファイル

Matlab の imread 関数でサポートされているすべての静止画像ファイル形式。

一般的なファイル形式は太字で示しています。詳細については、 Matlabのドキュメント「imread」を参照してください。標準ファイルの特殊なケースについては、以下で説明します。

HDR(ハイダイナミックレンジ)ファイル

HDR拡張子のファイルは、 Matlabのhdrread関数で読み込むことができ、 Matlabのhdrwrite関数を使用してRead Raw 、 Image Processing 、およびその他のImatestモジュールで書き込むことができます。これらのファイルはRadiance HDR形式です。

EXR( OpenEXR )

EXR拡張子のファイルは、 OpenEXRライブラリを使用して読み込まれます。OpenEXRは、アカデミーカラーエンコーディングシステム(ACES)でエンコードされた高ダイナミックレンジ画像を保存するためによく使用され、16ビット浮動小数点、32ビット浮動小数点、および32ビット整数ピクセルをサポートします。「R」、「G」、「B」と「Y」、「BY」、「RY」チャンネルの両方を含むファイルがサポートされます。後者は、内部的にRec.709原色を使用した線形RGBカラースペースに変換されます。その他のチャンネルは現在無視されます。最大ピクセル値は1.0に制限され、現在このレベルでクリップされます。「R」、「G」、「B」チャンネルの値は、ファイルに格納されているとおりに読み込まれます(追加のカラースペース変換は行われません)。

PGM(ポータブルグレーマップ)ファイル

PGM拡張子のファイルは、Matlabのimread関数で読み込み、画像処理で書き込むことができます。PGMファイルによっては、正しく読み込むためにエンディアン順序を入れ替える必要がある場合があります。これは、読み込む前にオプションII設定ウィンドウの「 PGMファイル読み込み:エンディアン順序を入れ替える」チェックボックスをオンにすることで実行できます。オプションIIウィンドウは、Imatestメインウィンドウの「設定」メニューからアクセスできます。

複数画像TIFF

TIFFタイル(拡張子はtifまたはtiff)の中には、複数の画像が含まれているものがあります。これらは、異なる波長帯に対応したマルチスペクトルカメラ用であったり、画像のサイズが異なっていたりする場合があります。これらのファイルが検出されると、Imatestは解析する画像を選択できるようにします。

デフォルトでは、複数画像TIFFファイルが読み込まれるたびに、複数画像TIFFファイル選択ウィンドウが開きます。

マルチイメージTIF複数画像TIFFファイル選択ウィンドウ

ファイル読み込み中にこのウィンドウを表示させたくない場合は、 「このウィンドウを表示する」チェックボックスのチェックを外してください。(読み込む画像番号は保存されます。)設定からいつでも開くことができます。

ファイル読み込み中に画像プレビューを開いた場合、プレビュー画像は「画像をプレビューする」チェックボックスがオンになっている場合にのみ表示されます。

設定ドロップダウンメニューから開いた場合、 [ファイルを読み込んで表示する]を押すまで画像は表示されません。

現在、 Imatestは複数画像ファイルからの画像をバッチ処理で解析することはできません。(複数画像ファイル内の画像のサイズは必ずしも同じではありません。)バッチ解析用に画像を準備するには、右上にあるボタンのいずれかをクリックして、選択した単一画像またはすべての画像(ファイル名に_01から_nnが付加されます)を保存できます。

フェーズ1 生のtiff

フェーズ1のRAWファイルは、拡張子がtiffです。ファイルサイズは大きい(10MB以上)ですが、最初の画像は小さなサムネイル(幅400ピクセル未満、高さ300ピクセル未満)で、フェーズ1とラベル付けされています。これらのファイルが検出されると、 LibRawによって変換されるRAWファイルとして扱われます。

ユブ

Imatest 2020.2では、4 種類のYUV420と 1 種類のYUV422を読み取ることができます。YUV ファイルは RGB 形式に変換されます。  Rec.709カラースペース(sRGBに類似)。

オプションIIのYUV設定

YUVファイルは、 yuvというファイル拡張子で識別されます。

YUVファイルはメタデータを含まない純粋なバイナリファイルであるため、フォーマットや画像サイズに関する情報は含まれていません。YUVフォーマット、画像の幅と高さ(デフォルトは1080P設定)は、 「設定」で設定する必要があります。設定は右側に表示されます。

YUVフォーマット(Y、U、Vカラーデータの配置を指定するフォーマット)は、認識可能な色を持つ画像(カラーチェッカーチャートが非常に有効です)を使用して試行錯誤することで決定できます。正しい色になるのは、設定のうち1つだけです。

サポートされているYUVフォーマット
ドロップダウンメニュー説明
YUV 420 (U の後に V) P → RGBY′UV420p(およびY′V12またはYV12)からRGB888への変換
YUV 420 (U、Vインターリーブ) SP NV12 → RGBY'UV420sp (NV12) から RGB への変換
YUV 420 (V、Uインターリーブ) SP NV21 → RGBY′UV420sp (NV21) から RGB への変換 (Android)
YUV 420 (V の後に U) P → RGB 
YUV 422 (Y、U、Y、V インターリーブ) → RGBY、U、Y、Vのインターリーブ列
YUV 422 (UYVY) → RGB
U0 Y0 V0 Y1 U1 Y2 V1 Y3 U2 Y4 V2 Y5
U、Y、V、Yのインターリーブ列
Microsoft Igniteが推奨する8ビットYUVフォーマット
YUV 422 (YUY2) → RGB
Y0 U0 Y1 V0 Y2 U1 V3 V1 Y4 U2 Y5 V2
Y、U、Y、Vのインターリーブ列
Microsoft Igniteが推奨する8ビットYUVフォーマット

右側の図は、標準的な(P = 平面 = 非インターリーブ)YUV420構成におけるY、U、Vデータの順序を示しています。GitHub の「 About YUV Formats 」には、少なくとも4つのYUV420フォーマットが記載されています。

お客様のご要望に応じて、YUVフォーマット( 多数あります)を追加できます。コードのテストを行うため、認識可能な色の画像が必要となります。

タルガ(TGA拡張)

Wikipediaによると、Truevision TGA(TARGAとも呼ばれる)は、1984年にTruevision Inc. (現在はAvid Technologyの一部)によって作成されたラスターグラフィックスファイル形式である。

DPX

デジタルピクチャーエクスチェンジ( DPX )は、映画業界でデジタルインターミディエイトや視覚効果の作業に使用される一般的なファイル形式で、 ANSI / SMPTE規格(268M-2003)に準拠しています。DPXは複数のビット深度をサポートしていますが、 Imatestはすべてのバリエーションについてテスト済みではありません。問題が発生した場合は、[email protected]までお問い合わせください。

DPXフォーマットの興味深い点として、RチャンネルとBチャンネルが入れ替わっている場合があることが挙げられます(ウェブからダウンロードしたサンプル画像では一貫性がありません)。また、 DPXヘッダーフィールドではその順序が指定されていません。この問題を解決するため、 「設定」には「DPX読み取り:RGB反転」という設定があり、オンにするかオフにするかを選択できます。正しい色が得られる設定を選択してください。

CSV

はい、昔ながらのExcelで読み込めるCSVファイルが赤外線画像の保存に使われてきました。(もちろん、これは非常に非効率的で、おそらく時代遅れでしょう。)

HEIC

High Efficiency Image Container(HEC) :AppleがiPadとiPhone向けに開発した画像ファイル形式ですが、MATLABやImatestではまだサポートされていません。適切なMATLABプログラムが見つかるか、Mathworksがimreadに追加され次第、サポートを追加します。それまでの間、MATLAB Answersのページ「Apple製携帯電話の".heic"画像ファイルをmatlabでインポートする方法」では、 ImageMagickのmogrify関数の使用を推奨しています。

生ファイル

RAWファイルには、イメージセンサーの出力から(ほぼ)直接取得された線形データが含まれています。通常、デモザイク処理、ガンマエンコード、色補正、ホワイトバランス調整、シャープネス調整、ノイズリダクションは行われていません。ほとんどのアプリケーションで使用するには、互換性のあるフォーマットに変換する必要があります。ImatestのRAWファイルサポートについては、 「RAWファイル」で詳しく説明しています。

商用RAWファイル

LibRaw設定ウィンドウ

キヤノン、ニコン、パナソニック、ソニーなどの商用RAWファイルは、独自のフォーマットを使用しており、デコードが複雑です。Imatestでは、 LibRaw ( Imatestに同梱されているソフトウェアで、更新が停止されたdcrawに代わるものです)によって、これらのRAWファイルを標準的な交換可能な静止画フォーマットに変換します。

もちろん、様々なRAW現像ソフトを使って外部で変換することも可能です。一部のユーザーは、 Adobe LightroomやRawTherapeeといった汎用RAW現像ソフトを使用することで、幅広いカメラで一貫した信号処理を実現しています。

対応カメラの一覧はありますが、対応ファイル拡張子の一覧はありません。以下は古い一覧で、現在使用されている拡張子の一部が漏れている可能性があります。

3fr、arw、bay、bmq、cine、cr2、cr3、crw、cs1、dc2、dcr、dng、erf、fff、
hdr、ia、jpg、k25、kc2、kdc、mdc、mef、mos、mrw、nef、nrw、
orf、pef、pxn、qtk、raf、raw、rdc、rw2、sr2、srf、sti、tif、x3f

これらの拡張子を持つファイル(現像システムのRAWファイルとして広く使われているrawを除く)はLibRawによってデコードされます。リストにある注目すべきRAWフォーマットは、 ARRIRAWフォーマット(ARW、Arriシネマカメラの静止画用)、 Adobe Digital Negative (DNG、Adobeが商用RAWフォーマットを標準化しようとした試みだが、業界ではあまり普及していない)、および富士フイルムのX-Transセンサー(標準的なベイヤーパターンとは異なる)です。

Imatest には、右図に示す LibRaw 用の GUI フロントエンドがあり、多くのオプション (デモザイク処理済みまたはベイヤー RAW、ビット深度、リニアエンコードまたはガンマエンコード、ホワイトバランス調整済みまたは未調整、カラースペースへの変換済みまたは未調整) を選択できます。詳細は、 Raw ファイル - LibRaw デモザイク処理を参照してください。

汎用的な生データ読み取り(バイナリ/開発システム生データファイル)

汎用的なRead Raw設定ウィンドウ

バイナリファイル(通常は開発システムからのもの)は、汎用読み取り生データ(詳細はこちら)を使用してデコードされます。これは、製造品質管理に使用されるImatest IT(産業用テスト版)にとって特に有用です。

一般的な読み取り用RAWファイルは、セットアップウィンドウの「ファイル拡張子設定」セクションでユーザーが設定した拡張子によって識別されます。最大16個の拡張子を登録できます。(お客様からこれらのファイルを受け取る場合、ほとんどの場合拡張子は.rawなので、固有の拡張子を付与する必要があります。)

非常に多くのオプションが利用可能です。最も重要なのは、幅、高さ、および入力と出力のピクセルサイズ(ビット深度)です。その他には、ビットシフト(自動、固定、またはなし)、ピクセルオフセット(デフォルトは0)、バイト順序(16ビット以上の深度の場合:リトルエンディアンまたはビッグエンディアン)、回転/ミラーリング、ホワイトバランスとレベル、およびデモザイキングがあります。詳細は、Rawファイル - 一般化されたRawの読み取りを参照してください。

Adobe DNG

Adobe DNGファイルは、複数のカメラで使用される標準規格として設計された特殊なRAWファイル形式です。特に、イメージセンサーのダイナミックレンジを測定する際に非常に役立ちます。

ここでそれらについて触れるのは、ImatestにはオプションIIウィンドウで選択できる複数の読み取り方法が用意されているためです。

さまざまな方法の詳細については、 「生ファイル - DNG」を参照してください。

ビデオファイル

Imatestは、MatlabのVideoReaderクラスがサポートするビデオファイル形式から、単一フレームまたはフレームグループを取得できます。

動画ファイルは、mov、avi、mj2、mpg、mp2、m4v の拡張子で認識されます。これらの拡張子のいずれかを持つファイルの場合、ビデオプレーヤーウィンドウが開きます。

Imatestビデオプレーヤーウィンドウ

このウィンドウにはいくつかのオプションがあります。再生または停止を押すと、ファイルの内容が表示されます。フレームを選択するには、 [フレームのマーク/マーク解除]を押します。フレームの範囲を選択するには、 [マークイン]を押してから[マークアウト]を押します。選択したフレームは[選択されたフレーム]ボックスに表示されます。必要に応じて、このボックスをクリアできます。適切なフレームを選択したら、 [はい、続行]を押します。

以下にすべてのフォーマットの一覧を示します。必要に応じてフォーマットを追加することも可能です。

全プラットフォーム

AVI(非圧縮、インデックス付き、グレースケール、およびMotion JPEGエンコードビデオを含む)( .avi )
Motion JPEG 2000 ( .mj2 )

すべてのWindows®

MPEG-1 ( .mpg )
Windows Media®ビデオ( .wmv 、 .asf 、 .asx )
Microsoft® DirectShow®でサポートされているすべてのフォーマット

Windows 7以降

MPEG-4(H.264エンコードビデオを含む)( .mp4 、 .m4v )
Apple QuickTime ムービー ( .mov )
Microsoft Media Foundationがサポートするあらゆるフォーマット

マッキントッシュ

QuickTime Playerでサポートされているほとんどのフォーマットは以下のとおりです。
MPEG-1 ( .mpg )
MPEG-4(H.264エンコードビデオを含む)( .mp4 、 .m4v )
Apple QuickTime ムービー ( .mov )
3GPP 3GPP2 AVCHD DV

Linux®

https://gstreamer.freedesktop.org/に記載されている、GStreamer 0.10 以降にインストールされているプラグインでサポートされているフォーマットであれば、Ogg Theora ( .ogg ) もサポートします。
ビデオリーダーが利用可能になる前は、 VLCメディアプレーヤーを使用してビデオから静止画を抽出していました。抽出したいフレームでビデオを一時停止し、 「ビデオ」 → 「スナップショットを撮る」を選択しました。保存場所は、 「ツール」 → 「環境設定」 → 「ビデオ設定」で設定しました。フレームが保存されると、標準的な静止画像ファイル(PNG)として読み込むことができました。

Imatest用データ取得装置

Imatest Masterは、多数のデバイスからの直接画像取得をサポートしています(すべてのImatestファイル形式にも対応)。直接取得は、 Imatestのほぼすべての測定項目をカバーする3つのモジュールによってサポートされています。Rescharts(すべての解像度チャート - 傾斜エッジ、シーメンススター、Log Fコントラスト、Spilled Coins(枯葉)など)、 Multicharts (多種多様なカラーチャートとグレースケールチャート)、 Uniformity Interactive (ほとんどのフラットフィールド測定)です。

イメージセンサー設定ドロップダウンこれらのモジュールにはそれぞれ「リロード」ボタンがあり、これを押すと画像がリアルタイムで継続的に更新されます。これにより、システムの設定変更を即座に反映させることができます。

画像取得設定
設定で

右側に表示されている「設定」ドロップダウンメニューの画像取得設定は、取得デバイスの選択や各種設定を行うために使用されます。下図に示す「デバイスマネージャ」は、 Matlab画像取得ツールボックスへのインターフェースです。

ONセミデヴウェア

ImatestとDevWareの使用方法については、本書で説明されています。ON Semi Devwareソフトウェアをダウンロードしてインストールする必要があります。DevwareとImatestは両方とも管理者モードで起動する必要があります。

オムニビジョン

Imatest の Omnivision クイックスタートで説明されています。

Androidカメラインターフェース

Imatest IS 用 Android カメラ インターフェースで説明されています。

画像取得ツールボックス

Matlab Image Acquisitionツールボックスでサポートされているデバイスから画像を取得する前に、ユーティリティメニュー、またはRecharts、Multicharts、Uniformity Interactiveウィンドウの設定からデバイスマネージャを開く必要があります。デバイスの一覧が左上に表示され、選択したデバイスの設定がその下に表示されます。

デバイスリストの2~7番目のデバイスは、デバイスが存在しない場合でも表示されますが、これらはカスタムのImatestコードによってサポートされています。最後の4つ(DeckLink Studio 4K、Blackmagic WDM Capture、Microsoft LifeCam VX-7000、DeckLink Video Capture)は、Image Acquisitionツールボックスによって検出された利用可能なデバイス(具体的には、MicrosoftのウェブカメラとBlackmagic DeckLink Studio 4Kフレームグラバー)です。

デバイスマネージャーを開いた時点では画像は空白です。 [プレビュー開始]ボタンを押すと画像が表示されます。 [保存]ボタンを押すと、画像を直接取得できる3つのモジュール(Rescharts、Multicharts、Uniformity Interactive)のいずれかを使用して画像を取得でき、 [再読み込み]ボタンを使用して表示を継続的に更新できます。

デバイスマネージャー2
Imatestデバイスマネージャー

サポートされている画像取得ハードウェアのページには、サポートされているデバイスとインターフェースの一覧が掲載されています。さらに詳しい情報は、Matlab Image Acquisition Toolboxのハードウェアサポートページをご覧ください。