天天看點

OpenCV基礎--圖像的讀取與顯示一、圖像讀取函數imread()二、圖像視窗函數 namedWindow()三、圖像顯示函數imshow()

一、圖像讀取函數imread()

    函數原形:

cv::Mat cv::imread(const String &filename,
                    int flags = IMREAD_COLOR
                    )
           

filename: 需要讀取圖像的檔案名稱,包含圖像位址、名稱和圖像檔案擴充名。

flags: 讀取圖像形式的标志,如将彩色圖像按照灰階讀取,預設參數是按照彩色圖像格式讀取。

imread()函數讀取圖像形式參數

标志參數 簡記 作用
IMREAD_UNCHANGED -1 按照圖像原樣讀取,保留Alpha通道(第四通道)
IMREAD_GRAYSCALE 将圖像轉成單通道灰階圖像後讀取
IMREAD_COLOR 1 将圖像轉成灰階圖像後讀取
IMREAD_ANYDEPTH 2 保留圖像的16位,32位深度,不聲明該參數則轉成8位讀取
IMREAD_ANYCOLOR 4 以任何可能的顔色讀取圖像
IMREAD_LOAD_GDAL 8 使用gdal驅動程式加載圖像
IMREAD_REDUCED_GRAYSCALE_2 16 将圖像轉成單通道灰階圖像,尺寸縮小1/2.可以更改最後一位數字實作縮小1/4(最後以為改為4)和1/8(最後一位改為8)
IMREAD_REDUCED_COLOR_2 17 将圖像轉成3通道彩色圖像,尺寸縮小1/2.可以更改最後一位數字實作縮小1/4(最後以為改為4)和1/8(最後一位改為8)
IMREAD_IGNORE_ORIENTATION 128 不以EXIF的方向旋轉圖像

二、圖像視窗函數 namedWindow()

        函數原型:

void cv::namedWindow(const String &winname,
                    int flags = WINDOW_AUTOSIZE
                    )
           

winname: 視窗名稱,用作視窗表示符。

flags: 視窗屬性設定标志。

namedWindow()函數視窗屬性标志參數

标志參數 簡記 作用
WINDOW_NORMAL 0x00000000    顯示圖像後,允許使用者随意調整視窗大小
WINDOW-AUTOSIZE 0x00000001 根據圖像大小顯示視窗,不允許使用者調整大小
WINDOW_OPENGL 0x00001000 建立視窗的時候會支援OpenGL
WINDOW_FULLSCREEN 1 全屏顯示視窗
WINDOW_FREERATIO 0x00000100 調整圖像尺寸以充滿視窗
WINDOW_KEEPRATIO 0x00000000 保持圖像比例
WINDOW_GUI_EXPANDED 0x00000000 建立的視窗允許添加工具欄和狀态欄
WINDOW_GUI_NORMAL 0x00000010 建立沒有狀态欄和工具欄的視窗

三、圖像顯示函數imshow()

        函數原型:

void cv::imshow(const String &winname,
                InputArray mat
                )
           

winname: 要顯示圖像的視窗的名字,用字元串形式指派。

mat: 要顯示的圖像矩陣。