加載,修改,保存圖像
加載圖像(用cv::imread)
修改圖像 (cv::cvtColor)
保存圖像 (cv::imwrite)
(一)
Imread()是加載圖像文件成爲一個Mat對象
第一個參數是圖像文件名稱
第二個參數表示加載的圖像是什麼類型
(
IMREAD_UNCHANGED(<0)表示加載原圖
IMREAD_GRAYSCALE(0)表示把原圖作爲灰度圖加 載進來
IMREAD_COLOR(>0)表示把原圖作爲RGB加載進來
)
(二)
顯示圖像(cv::namedWindow與cv::imshow)
常見用法namedWindow(“Window Title”,WINDOW_AUTOSIZE)
WINDOW_AUTOSIZE會自動根據圖像大小顯示窗口大小
imshow根據窗口名稱顯示圖像到指定的窗口上去
第一個參數是窗口名稱
第二個參數是Mat對象
(三)
修改圖像(cv::cvtColor)
cvtColor可以把圖像從一個色彩空間轉換到另外一個色彩空間
有三個參數
第一個參數表示原圖像
第二個參數表示轉換後的圖像
第三個參數表示色彩空間 (COLOR_BGR2GRAY)
(四)
保存圖像(cv::imwrite)
保存圖像到指定路徑
(例
imwrite(“D:/image.png”,output_image);
)
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char** argv)
{
Mat src = imread("C:/Users/ASUS/Pictures/Saved Pictures/timg.jfif");
if (src.empty())
{
printf("could not load image...\n");
return -1;
}
namedWindow("test opencv setup", CV_WINDOW_AUTOSIZE);
imshow("test opencv setup", src);
namedWindow("output Windows", CV_WINDOW_AUTOSIZE);
Mat output_image;
cvtColor(src, output_image, CV_BGR2HLS);
imshow("output Windows", output_image);
imwrite("C:/Users/ASUS/Pictures/Saved Pictures/image.png", output_image);
waitKey(0);
return 0;
}