一、Opencv加載、顯示、保存處理圖像

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

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