opencv imread后做resizie_opencv第1课-加载、修改、保存图像
(非原創(chuàng),看課程自己做的筆記,防丟失放到個(gè)人空間的)
第1課-加載、修改、保存圖像
- 加載圖像(cv::imread)
- 修改圖像(cv::cvtColor)
- 保存圖像(cv::imwrite)
- 代碼演示
1-加載圖像
- imread功能時(shí)加載圖像文件成為一個(gè)Mat對(duì)象,其中一個(gè)參數(shù)表示圖像文件名稱;
- 第二個(gè)參數(shù),表示加載的圖像是什么類型,支持常見的三個(gè)參數(shù)值:
- IMREAD_UNCHANGED(<0)表示加載原圖,不做任何改變;
- IMREAD_GRAYSCALE(0)表示把原圖作為灰度圖像加載進(jìn)來;
- IMREAD_COLOR(>0)表示把原圖作為RGB圖像加載進(jìn)來。
注意:OpenCV支持JPG,PNG,TIFF等常見格式圖像文件加載。
2-顯示圖像
可以使用(cv::namedWindos和cv::imshow)
- namedWindos功能是創(chuàng)建一個(gè)OpenCV窗口,它是由openCV自動(dòng)創(chuàng)建與釋放,你無須銷毀它;
- 常見用法namedWindow("WindowsTitle",WINDOW_AUTOSIZE);
- WINDOW_AUTOSIZE會(huì)自動(dòng)根據(jù)圖像大小,顯示窗口大小,不能人為改變窗口大小;
- imshow根據(jù)窗口名稱顯示圖像到指定的窗口上去,第一個(gè)參數(shù)是窗口名稱,第二個(gè)參數(shù)是Mat對(duì)象。
3-修改圖像
- cvtColor的功能是,把圖像從一個(gè)彩色空間轉(zhuǎn)換到另一個(gè)彩色空間,有三個(gè)參數(shù):參數(shù)1表示原圖像、參數(shù)2表示色彩空間轉(zhuǎn)換后的圖像、參數(shù)3表示源和目標(biāo)的色彩空間,比如:COLOR_BGR2HLS、COLOR_BGR2GRAY等;
- cvtColor(image,gray_image,COLOR_BGR2GRAY);
4-保存圖像
- 使用“cv::imwrite”保存圖像文件到指定目錄路徑;
- 只有8位、16位的PNG、JPG、Tiff文件格式而且是單通道或者是三通道的BGR的圖像才可以通過這種方式保存;
- 保存PNG格式的時(shí)候可以保存透明通道的圖片;
- 可以指定壓縮參數(shù);
- 參數(shù)1是保存路徑,參數(shù)2是保存目標(biāo)。
#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src = imread("E:/vision/opcv3.1/181124-lesson1-pic/test.jpg");
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_BGR2HSV);
imshow("output windows", output_image);
imwrite("E:/vision/opcv3.1/181124-lesson1-pic/test1.jpg", output_image);
waitKey(0);
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的opencv imread后做resizie_opencv第1课-加载、修改、保存图像的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 断点续传 暂停,PHP 断点续传
- 下一篇: numpy支持比python更多的数据类