涉及API
imread
原型
CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
功能
加载图像文件成为一个Mat对象。OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载
参数
filename:表示图像文件名称
flags:表示加载的图像是什么类型。
IMREAD_UNCHANGED(<O)表示加载原图,不做任何改变
IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来
IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来
返回值
返回一个Mat类对象
namedWindow
原型
CV_EXPORTS_W void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);
功能
创建一个OpenCV窗口,它由OpenCV自动创建与释放,你无须销毁他
参数
winname:窗口名称
flags:窗口标识
WINDOW_NORMAL:跟QT集成的时候会使用,允许修改窗口大小。
INDOW_AUTOSIZE:如果设置了这个值,窗口大小会自动调整以适应所显示的图像,并且不能手动改变窗口大小。
WINDOW_OPENGL:如果设置了这个值的话,窗口创建的时候便会支持OpenGL
返回值
无
imshow
原型
CV_EXPORTS_W void imshow(const String& winname, InputArray mat);
功能
根据窗口名称将图像显示到指定的窗口。
参数
winname:窗口名称,对应namedWindow创建窗口时制定的窗口名称
mat:Mat对象,对应imread加载图形时得到的Mat对象
返回值
无
cvtColor
原型
CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
功能
将一个图像从一个颜色空间转换到另一个颜色空间,但是从RGB向其他类型转换时,必须明确指出图像的颜色通道
参数
src:要进行颜色空间变换的原图像,可以是Mat类
dst:要进行颜色空间变换后存储图像,也可以Mat类
code:转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片
dstCn:目标图像通道数,如果取值为0,则由src和code决定
返回值
无
示例代码
#include#include using namespace cv;int main(int argc, char **argv){ Mat src = imread("./girl.jpg"); if (src.empty()) { std::cout << "Could not load image...\n" << std::endl; return -1; } namedWindow("Girl", CV_WINDOW_AUTOSIZE); imshow("Girl",src); Mat out; namedWindow("Out", CV_WINDOW_AUTOSIZE); cvtColor(src,out,CV_BGR2GRAY); imshow("Out", out); waitKey(0); return 0;}
imwrite
原型
CV_EXPORTS_W bool imwrite( const String& filename, InputArray img, const std::vector & params = std::vector ());
功能
保存图片
参数
filename:需要写入的文件名,会自己创建(像imwrite("1.jpeg",src);这样)
img:要保存的图像
params:表示为特定格式保存的参数编码
返回值
bool是否报错成功