影像檔案格式和擷取設備


Imatest
可以讀取多種檔案類型,包括許多標準Matlab 不支援的檔案類型。 Imatest也可以從大量裝置取得檔案。本頁列出了文件和設備類型,分為四個部分:

有缺陷的圖像文件

檔案副檔名錯誤

大多數檔案類型都透過檔案副檔名來識別,副檔名不區分大小寫。有時檔案副檔名可能不正確(例如,PNG 檔案可能帶有 JPG 副檔名)。 Imatest 無法讀取這些檔案。如果您遇到文件讀取問題,我們建議您使用Irfanview (一款優秀的免費工具,強烈建議)打開它。 Irfanview 會顯示一則訊息,解釋問題所在並提供相應的操作建議(通常是將檔案重新命名為正確的副檔名)。

「清洗」損壞的文件有時, Imatest (依賴 Matlab 庫)無法讀取某個文件,但Irfanview可以讀取,顯然 Irfanview 的讀取機制更加強大。在這種情況下,您可以使用 Irfanview 透過另存為新檔案(通常會使用略有不同的檔案名,以表明它並非原始檔案)來「清洗」影像檔案。這種方法通常效果很好,但以下情況是一個罕見的例外。

color_or_not.png
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 、映像處理和其他 Imatest 模組寫入。這些文件採用Radiance HDR格式。

EXR( OpenEXR )

使用OpenEXR庫讀取副檔名為EXR 的檔案。 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)。

第一階段原始 TIFF 格式文件

第一階段的原始檔案副檔名為 tiff。這些檔案較大(>10MB),但第一張影像是較小的縮圖(寬度 < 400 像素;高度 < 300 像素),並被標記為「第一階段」。當偵測到這些文件時,它們會被視為原始文件,並由LibRaw進行轉換。

YUV

Imatest 2020.2可以讀取四種YUV420格式和一種YUV422格式。 YUV 檔案會轉換為 RGB 格式。  Rec.709色彩空間(類似 sRGB)。

選項 II 中的 YUV 設置
選項 II 中的 YUV 設置

YUV 檔案透過yuv檔案副檔名來識別。

由於 YUV 文件是純二進位文件,不包含任何元數據,因此它們不包含格式和影像尺寸資訊。 YUV格式以及影像的寬度和高度(預設為 1080P)應在「設定」中進行設定。 “設定”顯示在右側。

YUV 格式(用於指定 Y、U、V 顏色資料的排列方式)可以透過反覆試驗來確定,方法是使用顏色清晰的影像(色卡效果很好)。只有一種設定能獲得正確的顏色。

支援的 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(先垂直後垂直)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 上的「關於 YUV 格式」頁面列出了不少於四種YUV420 格式。

我們可以根據客戶要求添加其他YUV格式(有很多種)。我們需要一張顏色清晰的圖像來測試程式碼。

Targa(TGA 擴展)

根據維基百科,Truevision TGA(通常稱為 TARGA)是一種光柵 圖形檔案格式,由Truevision Inc. (現為Avid Technology 的一部分)於 1984 年創建。

DPX

數位影像交換( DPX ) 是電影產業用於數位中間片和視覺特效製作的常用檔案格式,也是ANSI / SMPTE標準 (268M-2003)。 DPX 支援多種位元深度,但Imatest尚未測試所有可能的位元深度組合。如果您遇到任何問題,請聯絡我們:support@imatest.com

DPX 格式的一個特殊之處在於,R 和 B 通道有時會互換(在我們從網路下載的範例影像中,這種情況並不一致),而且DPX 標頭欄位中並未指定順序。為了解決這個問題,設定中有一個「DPX 讀取:反轉 RGB」選項,該選項可能已啟用或未啟用。您應該選擇能夠顯示正確顏色的設定。

CSV

是的,過去人們確實使用過老式的、Excel 可讀取的 CSV 檔案來儲存紅外線影像。 (當然,這種方法效率極低,而且很可能已經過時了。)

HEIC

高效能影像容器 (HEIC) :這是蘋果公司為 iPad 和 iPhone 開發的映像檔格式,目前 MATLAB 和 Imatest尚不支援。一旦我們找到合適的 MATLAB 程式或 Mathworks 將其新增至 imread 中,我們將立即新增支援。同時,MATLAB Answers 頁面—「如何使用 MATLAB 匯入蘋果手機的 .heic 映像檔?」 —建議使用ImageMagick 的 mogrify 函數。

原始文件

原始文件包含直接從影像感測器輸出獲取的線性資料(大致如此)。它們通常未經去馬賽克、伽馬編碼、色彩校正、白平衡、銳利化或降噪處理。為了在大多數應用程式中使用,必須將其轉換為可互換的格式。 Imatest對原始文件的支援在「原始文件」部分有詳細描述。

商業原始文件

LibRaw 設定窗口
LibRaw 設定窗口

商業RAW檔案(佳能、尼康、松下、索尼等)採用專有格式,解碼起來很複雜。在Imatest中, LibRaw會將它們轉換為標準的、可互換的靜態映像格式,LibRaw是Imatest自帶的(它取代了不再更新的dcraw)。

當然,您可以使用各種RAW格式轉換器進行外部轉換。有些使用者使用通用RAW格式轉換器,例如Adobe Lightroom或RawTherapee ,以便對各種相機進行一致的訊號處理。

雖然提供了支援的相機列表,但沒有提供支援的檔案副檔名列表。以下是一個較舊的列表,其中可能遺漏了一些當前的擴展名。

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 數位負片(DNG;Adobe 嘗試標準化商業 RAW 格式——但並未獲得業界廣泛認可)以及Fuji X-Trans 感測器(其與標準的拜耳陣列有所不同)。

Imatest 為 LibRaw 提供了一個圖形使用者介面前端(如右圖所示),讓您可以選擇許多選項(去馬賽克或拜耳原始影像、位元深度、線性編碼或伽馬編碼、是否進行白平衡、是否轉換為色彩空間)。詳情請參閱“原始文件 - LibRaw 去馬賽克” 。

通用讀取原始檔案(二進位/開發系統原始檔案)

通用讀取原始設定視窗
通用讀取原始設定視窗

二進位檔案(通常來自開發系統)使用通用讀取原始資料進行解碼(詳情請點擊此處),這對於用於製造品質控制的 Imatest IT(工業測試版)尤其有用。

通用讀取的原始檔案透過其副檔名進行識別,該副檔名由使用者在設定視窗的「檔案副檔名設定」部分中設定。最多可以註冊 16 個擴展名。 (當我們從客戶那裡收到這些文件時,它們幾乎總是帶有 .raw 擴展名,因此我們必須為它們分配唯一的擴展名。)

有許多選項可供選擇:最重要的包括寬度、高度以及輸入和輸出像素大小(位元深度)。其他選項包括位移(自動、固定或無)、像素偏移(預設為 0)、位元組序(對於 16 位元及以上位元深度:小端或大端)、旋轉/鏡像、白平衡和色階以及去馬賽克。詳情請參閱“Raw 檔案 - 通用讀取 Raw” 。

Adobe DNG

Adobe DNG 檔案是一種特殊的原始檔案格式,旨在成為多種相機使用的標準格式。它們對於測量影像感測器的動態範圍尤其有價值。

我們在這裡提到它們是因為 Imatest 有幾種讀取它們的方法,可以在「選項 II」視窗中選擇。

有關不同方法的更多詳細信息,請參閱原始文件 - DNG 。

視訊檔案

Imatest 可以從Matlab VideoReader類別支援的視訊檔案格式中取得單一幀或幀組。

視訊檔案可透過以下副檔名識別:mov、avi、mj2、mpg、mp2 和 m4v。當檔案具有這些副檔名之一時,將開啟視訊播放器視窗。

Imatest 影片播放器視窗
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 )
任何微軟媒體基金會支持的格式

麥金托什

QuickTime Player 支援大多數格式,包括:
MPEG-1( .mpg )
MPEG-4,包括 H.264 編碼的影片( .mp4 、 .m4v )
Apple QuickTime 影片 ( .mov )
3GPP 3GPP2 AVCHD DV

Linux®

GStreamer 0.10 或更高版本中已安裝的插件支援的任何格式,如https://gstreamer.freedesktop.org/上所列,包括 Ogg Theora ( .ogg )。
在影片讀取器出現之前,我們使用VLC 媒體播放器從影片中提取靜態影格。方法是:將影片暫停在所需的畫面上,然後點擊「影片」選單,再點擊「拍攝快照」 。儲存位置則透過點選「工具」選單,依序點選「首選項」和「影片設定」來設定。幀保存後,就可以像打開標準靜態圖像檔案(PNG)一樣打開它了。

用於 Imatest 的採集設備

Imatest Master支援從大量裝置直接擷取影像(除了所有Imatest檔案格式外)。直接採集功能由三個模組支持,幾乎涵蓋了所有Imatest測量: Rescharts (所有分辨率圖表——斜邊、西門子星形、對數 F 對比度、散落硬幣(枯葉)等)、 Multicharts (各種彩色和灰度圖表)以及Uniformity Interactive (大多數平場測量)。

影像感測器設定下拉式選單每個模組都有一個「重新載入」按鈕,點擊後影像會即時持續更新。這樣,您可以對系統進行調整並立即看到效果。

影像擷取設定
在設定中

右側「設定」下拉式選單中的影像擷取設定用於選擇擷取設備並進行某些設定。下方所示的「裝置管理員」是Matlab 影像擷取工具箱的介面。

安森美半導體 Devware

請參閱Imatest 與 DevWare 的說明。您需要下載並安裝安森美半導體 (ON Semi) 的 DevWare 軟體。 DevWare 和Imatest都需要以管理員身分執行。

全視

Omnivision Imatest 快速入門指南中對此進行了描述。

Android 相機介面

在Imatest IS 的 Android 相機介面中進行了描述。

影像擷取工具箱

在從Matlab 影像擷取工具箱支援的裝置取得影像之前,應從「實用工具」功能表或「Rescharts」、「Multicharts」和「Uniformity Interactive」視窗的設定中開啟「裝置管理員」 。設備清單將顯示在左上角,所選設備的設定將顯示在其下方。

設備清單中的第 2 至 7 號設備(即使設備不存在也會顯示)由自訂Imatest代碼支援。最後四個裝置(DeckLink Studio 4K、Blackmagic WDM Capture、Microsoft LifeCam VX-7000 和 DeckLink Video Capture)是影像擷取工具箱偵測到的可用裝置(分別是 Microsoft 網路攝影機和 Blackmagic DeckLink Studio 4K 幀擷取卡)。

開啟裝置管理員時,影像為空白。按下「開始預覽」按鈕後,影像才會出現。按下「儲存」按鈕後,您可以使用支援直接影像擷取的三個模組(Rescharts、Multicharts 或 Uniformity Interactive)中的任何一個來取得影像,並且可以使用「重新載入」按鈕持續刷新顯示。

設備管理器2
Imatest 裝置管理員

「支援的影像擷取硬體」頁面列出了支援的設備和介面。更多資訊請參閱「Matlab 影像擷取工具箱硬體支援」頁面。