1. 加載圖像(cv::imread)
Mat src = imread("D:/c++練習/opencv/可刪/1.jpg");
imread 的功能是加載圖像文件成爲一個 Mat 對象
其中第一個參數表示圖像文件名稱
第二個參數,表示加載的圖像是什麼類型,支持常見的三個參數值如下所示:
Mat src = imread("D:/c++練習/opencv/可刪/1.jpg",IMREAD_GRAYSCALE);
// IMREAD_GRAYSCALE 加載出灰色照片
// IMREAD_UNCHANGED (<0) 表示加載原圖,不做任何改變
// IMREAD_GRAYSCALE ( 0)表示把原圖作爲灰度圖像加載進來
// IMREAD_COLOR (>0) 表示把原圖作爲RGB圖像加載進來
// 注意:OpenCV支持JPG、PNG、TIFF、RGB等常見格式圖像文件加載
2. 顯示圖像 (cv::namedWindos / cv::imshow)
(1). namedWindos的功能是創建一個OpenCV窗口,它是由OpenCV自動創建與釋放,你無需取銷燬它。
常見用法如下
namedWindow("Window Title", WINDOW_AUTOSIZE)
WINDOW_AUTOSIZE 會自動根據圖像大小,顯示窗口大小,不能人爲改變窗口大小
WINDOW_NORMAL 跟QT集成的時候會使用,允許修改窗口大小
namedWindow("test opencv setup",CV_WINDOW_AUTOSIZE);
// test opencv setup 窗口名稱可以自己修改定義
(2). imshow根據窗口名稱顯示圖像到指定的窗口上去,第一個參數是窗口名稱,第二參數是Mat對象
Mat src = imread("D:/c++練習/opencv/可刪/1.jpg",IMREAD_GRAYSCALE);
imshow("test opencv setup", src);
// test opencv setup 窗口名稱可以自己修改定義
3. 修改圖像 (cv::cvtColor)
cvtColor的功能是把圖像從一個彩色空間轉換到另外一個色彩空間,有三個參數,第一個參數表示源圖像、第二參數表示色彩空間轉換之後的圖像、第三個參數表示源和目標色彩空間如:COLOR_BGR2HLS 、COLOR_BGR2GRAY 等
Mat src = imread("D:/c++練習/opencv/可刪/1.jpg",UNDERFLOW);// 原圖
imshow("123", src); //123 窗口名稱可以自己修改定義,顯示src
Mat output_image;
cvtColor(src, output_image, COLOR_BGR2HLS);
// 新圖名爲 output_image, 轉換新圖到 COLOR_BGR2HLS 色彩空間
imshow("111", output_image); // 顯示output_image的新圖,窗口名字爲111
(4). 保存圖像 cv::imwrite
保存圖像文件到指定目錄路徑
只有8位、16位的PNG、JPG、Tiff文件格式而且是單通道或者三通道的BGR的圖像纔可以通過這種方式保存
保存PNG格式的時候可以保存透明通道的圖片
可以指定壓縮參數
imwrite("D:/new.jpg", output_image);
//將output_image的副本放在D盤,並且命新的名字爲 new.jpg