影像檔案格式和擷取設備


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

有缺陷的圖像文件

檔案副檔名錯誤

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

「清洗」損壞的文件有時, Imatest (依賴 Matlab 庫)無法讀取某個文件,但Irfanview可以讀取,顯然 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 、映像處理和其他 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 設置

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尚未測試所有可能的位元深度組合。如果您遇到任何問題,請聯絡我們:[email protected]

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 設定窗口

商業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 影片播放器視窗

此視窗包含多個選項。您可以按“播放”或“停止”按鈕查看文件內容。您可以按“標記/取消標記幀”按鈕選擇要分析的幀。您可以按下「標記入點」和「標記出點」按鈕選擇一系列影格。選定的幀會顯示在「已選取幀」方塊中,您可以根據需要清除該框。選擇合適的幀後,按“是,繼續”。

以下是所有格式的完整清單。我們可以根據需要添加格式。

所有平台

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 影像擷取工具箱硬體支援」頁面。