图像的读取、显示、保存
使用的命名空间
#pragma once
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
图像的读取
openCV中读取图像使用imread()函数,基本可读取所有常用格式,tif,jpg,png。需要注意在读取时,可以指定读取的格式灰度、彩色等,不填默认原格式。如果是彩色三通道图像,读取后通道顺序为BGR,与常用的不同。
filename : 图像的地址
flags : 图像读取格式,enum cv::ImreadModes {
cv::IMREAD_UNCHANGED = -1, 原格式
cv::IMREAD_GRAYSCALE = 0, 灰度
cv::IMREAD_COLOR = 1, 彩色BGR
cv::IMREAD_ANYDEPTH = 2,
cv::IMREAD_ANYCOLOR = 4,
cv::IMREAD_LOAD_GDAL = 8,
cv::IMREAD_REDUCED_GRAYSCALE_2 = 16,
cv::IMREAD_REDUCED_COLOR_2 = 17,
cv::IMREAD_REDUCED_GRAYSCALE_4 = 32,
cv::IMREAD_REDUCED_COLOR_4 = 33,
cv::IMREAD_REDUCED_GRAYSCALE_8 = 64,
cv::IMREAD_REDUCED_COLOR_8 = 65,
cv::IMREAD_IGNORE_ORIENTATION = 128
}
图像的显示
图像读取后的显示,需要配合nameWindow(),imshow(),waitKey()三个函数一起使用;
nameWindow() 定义需要显示图像的窗口
winname : 窗口名称,用来显示图像
flags : 窗口类型,AUTOSIZE 根据图像自适应大小,不可手动调整;FREERATIO 可以手动调整窗口大小
默认为AUTOSIZE类型
图像的保存
图像的保存需要调用imwrite函数。
filename:图像保存的地址
img :待保存的图像
params : 可选取的保存格式
imshow() 在指定窗口显示图像
winname : 显示图像的窗口名
mat : 图像
wiatKey(),等待键盘输入,延时单位为毫秒(ms),inshow本身会显示后立即关闭,即图像一闪而过,如果要图像持续显示要使用waitKey,输入为0会无限等待,直至键盘键入任意值;或者指定延时时间;或者判断键盘是否按下特定键。