[OpenCV3函數] —— imread

imread

頭文件:opencv2/highgui/highgui.hpp

作用:imread函數的作用非常簡單,從函數的名稱也可以看出來,imreadimage read的縮寫,即圖像讀取的意思

函數原型:

Mat cv::imread(const String&filename,int flags=IMREAD_COLOR)
  • 返回值 Mat 類型, 即返回讀取的圖像,讀取圖像失敗時返回一個空的矩陣對象(Mat::data == NULL)
  • 參數1 filename, 讀取的圖片文件名,可以使用相對路徑或者絕對路徑,但必須帶完整的文件擴展名(圖片格式後綴)
  • 參數2 flags, 一個讀取標記,用於選擇讀取圖片的方式,默認值爲IMREAD_COLOR,flag值的設定與用什麼顏色格式讀取圖片有關。如果flag>0 返回一個3通道的彩色圖像;flag=0返回灰度圖像;flag<0返回包含Alpha通道的加載的圖像。

參數2 補充:

C++定義 說明
IMREAD_UNCHANGED =-1 如果設置,則按原樣返回加載的圖像(使用Alpha通道,否則會被裁剪,在新版本中廢棄)
IMREAD_GRAYSCALE =0 如果設置,則始終將圖像轉換爲單通道灰度圖像(編解碼器內部轉換)
IMREAD_COLOR =1 如果設置,請始終將圖像轉換爲3通道BGR彩色圖像
IMREAD_ANYDEPTH =2 如果設置,則在輸入具有相應深度時返回16位/ 32位圖像,否則將其轉換爲8
IMREAD_ANYCOLOR =4 如果設置,則以任何可能的顏色格式讀取圖像
IMREAD_LOAD_GDAL 如果設置,使用gdal驅動程序加載圖像
IMREAD_REDUCED_GRAYSCALE_2 如果設置,則始終將圖像轉換爲單通道灰度圖像,圖像尺寸減小1/2
IMREAD_REDUCED_COLOR_2 如果設置,則始終將圖像轉換爲3通道BGR彩色圖像,圖像尺寸減小1/2
IMREAD_REDUCED_GRAYSCALE_4 如果設置,則始終將圖像轉換爲單通道灰度圖像,圖像尺寸減小1/4
IMREAD_REDUCED_COLOR_4 如果設置,則始終將圖像轉換爲3通道BGR彩色圖像,圖像尺寸減小1/4
IMREAD_REDUCED_GRAYSCALE_8 如果設置,則始終將圖像轉換爲單通道灰度圖像,圖像尺寸減小1/8
IMREAD_REDUCED_COLOR_8 如果設置,則始終將圖像轉換爲3通道BGR彩色圖像,圖像尺寸減小1/8
IMREAD_IGNORE_ORIENTATION 如果設置,請不要根據EXIF的方向標誌旋轉圖像

示例:

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
int main(int argc,char **argv){
	cv::Mat image = cv::imread("C:/Users/Administrator/Desktop/2-1.jpg",cv::IMREAD_GRAYSCALE);
	cv::imshow("窗口名", image);
	cv::waitKey(0);
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章