1. 程式人生 > >OpenCV靜心修煉總結篇1——載入、 修改、 儲存影象

OpenCV靜心修煉總結篇1——載入、 修改、 儲存影象

載入影象(用 cv::imread)


imread 功能是載入影象檔案成為一個 Mat 物件, 其中第一個引數表示影象檔名稱第二個引數, 表示載入的影象是什麼型別, 支援常見的三個引數值:
IMREAD_UNCHANGED (<0) 表示載入原圖, 不做任何改變;
IMREAD_GRAYSCALE ( 0)表示把原圖作為灰度影象載入進來;
IMREAD_COLOR (>0) 表示把原圖作為 RGB 影象載入進來;
注意: OpenCV 支援 JPG、 PNG、 TIFF 等常見格式影象檔案載入。

顯示影象 (cv::namedWindos 與 cv::imshow)


namedWindos 功能是建立一個 OpenCV 視窗, 它是由 OpenCV 自動建立與釋放,你無需取銷燬它。 常見用法 namedWindow("Window Title", WINDOW_AUTOSIZE)。
imshow 根據視窗名稱顯示影象到指定的視窗上去, 第一個引數是視窗名稱, 第二引數是 Mat 物件。


修改影象 (cv::cvtColor)


cvtColor 的功能是把影象從一個彩色空間轉換到另外一個色彩空間, 有三個引數,第一個引數表示源影象、 第二引數表示色彩空間轉換之後的影象、 第三個引數表示源和目標色彩空間如: COLOR_BGR2HLS 、 COLOR_BGR2GRAY 等。
cvtColor( image, gray_image, COLOR_BGR2GRAY );


 儲存影象(cv::imwrite)


儲存影象檔案到指定目錄路徑, 只有 8 位、 16 位的 PNG、 JPG、 Tiff 檔案格式而且是單通道或者三通道的 BGR 的影象才可以通過這種方式儲存, 儲存 PNG 格式的時候可以儲存透明通道的圖片, 可以指定壓縮引數


參考程式碼:

/* 基本操作, 載入影象 修改影象, 顯示影象, 儲存影象 */
int image_open_save()
{
Mat src=imread("E:\\1.png"); // 載入圖片
if(!src.data)
{
printf("不能載入圖片\r\n");
return -1;
} n
amedWindow("test1",CV_WINDOW_AUTOSIZE); // 新建視窗
imshow("test1",src); // 顯示影象
namedWindow("test2"); // 新建視窗
Mat out_image;
cvtColor(src,out_image,COLOR_BGR2GRAY); //影象轉換
imshow("test2",out_image); // 顯示影象
imwrite("E:\\01.jpg",out_image); // 儲存影象
waitKey(0);
}