加载图像(用cv::imread)
imread功能是加载图像文件成为一个Mat对象 其中第一个参数表示图像文件名称
第二个参数 表示加载的图像是什么类型 支持常见的三个参数值
IMREAD_UNCHANGE(<0)表示加载原图 不做任何改变
IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来
IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来
注意:OpenCV支持jpg png tiff等常见格式图像文件加载
显示图像(cv::namedWindow与cv::imshow)
namedWindow功能是创建一个OpenCV窗口 它是由OpenCV自动创建与释放 你无需去销毁它
常见用法:nameWindow("Window Title",WINDOW_AUTOSIZE)
WINDOW_AUTOSIZE会自动根据图像大小 显示窗口大小 不能人为的改变窗口大小
WINDOW_NORMAL跟QT集成的时候会使用 允许修改窗口大小
imshow根据窗口名称显示图像到指定的窗口上去,第一个参数是窗口名称,第二个参数是Mat对象
修改图像(cv::cvtColor)
cvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间 有三个参数
第一个参数表示源图像 第二个参数表示色彩空间转换之后的图像
第三个参数表示源和目标色彩空间 如:COLOR_BGR2HLS COLOR_BGR2GRAY等
cvColor(image,gray_image,COLOR_BGR2GRAY)
保存图像(cv::imwrite)
保存图像文件到指定目录路径
只有8位 16位的png jpg tiff文件格式而且是单通道或者三通道的BRG的图像才可以通过这种方式保存
保存png格式的时候 可以保存透明通道的图片
可以指定压缩参数
参考程序如下:
#include <opencv2opencv.hpp> #include <math.h> #include <iostream> using namespace cv; int main(int argc, char const *argv[]) { Mat src = imread("../1.png"); if(src.empty()){ printf("Could not load image "); return -1; } namedWindow("opencv setup demo",CV_WINDOW_AUTOSIZE); imshow("opencv setup demo",src); namedWindow("output windows",CV_WINDOW_AUTOSIZE); Mat output_image; cvtColor(src,output_image,CV_BGR2HSV); imshow("output windows",output_image); imwrite("D:/xxx.jpg",output_image); waitKey(0); return 0; }