OpenCV MREAD_XXX標記


OpenCV支援各種型別的影象,如彩色,二進位制,灰度等。使用Imgcodecs類的imread()方法和預定義的欄位,可以將給定的影象作為另一種型別讀取。

imread()方法的標誌引數(IMREAD_XXX)

在前面的章節中,我們已經看到了Imgcodecs類的imread()方法的語法。 它接受一個字串引數,表示要讀取的影象的位置。

imread(filename)

imread()方法有另一種語法。

imread(filename, int flags)

這個語法接受兩個引數 -

  • filename - 它接受一個引數(檔案名),一個字串型別的變數,表示要讀取的檔案的路徑。
  • flags - 表示預定義標誌值的整數值。 對於每個值,這將讀取給定的影象作為特定的型別(灰度顏色等)

以下是將Imgproc類中提供的各個欄位列為此引數的值的表。

編寫 欄位 描述
1 IMREAD_COLOR 如果該標誌設定為該值,則載入的影象將被轉換為3通道BGR(藍綠紅)彩色影象。
2 IMREAD_GRAYSCALE 如果標誌設定為該值,則載入的影象將被轉換為單通道灰度影象。
3 IMREAD_LOAD_GDAL 如果標誌被設定為這個值,可以使用gdal驅動來載入影象。
4 IMREAD_ANYCOLOR 如果該標誌被設定為這個值,則影象以任何可能的顏色格式被讀取。
5 IMREAD_REDUCED_COLOR_2, IMREAD_REDUCED_COLOR_4, IMREAD_REDUCED_COLOR_8 如果該標誌被設定為該值,則影象被讀取為三通道BGR,並且影象的尺寸相對於所使用的場被縮小為影象的原始尺寸的1/21/4
6 IMREAD_REDUCED_GRAYSCALE_2, IMREAD_REDUCED_GRAYSCALE_4, IMREAD_REDUCED_GRAYSCALE_8 如果該標誌被設定為該值,則影象被讀取為單通道灰度影象,並且相對於所使用的場,影象的尺寸被縮小為影象的原始尺寸的???
7 IMREAD_UNCHANGED 如果該標誌被設定為這個值,則載入的影象將被原樣返回。