一、相关API介绍:图片显示使用的API
matimread(conststringfilename,int flags=IMREAD_COLOR );
param1:窗口的名称
param2: flag=IMREAD_COLOR定义在以下结构体之下
枚举imreadmodes {
IMREAD_UNCHANGED=-1,//原样返回加载的映像
IMREAD_GRAYSCALE=0,//单通道灰色图像
IMREAD_COLOR=1,/3通道BGR彩色图像
如果IMREAD_ANYDEPTH=2,//输入具有相应深度,则返回16位/32位图像,否则转换为8位图像。
IMREAD_ANYCOLOR=4,//以任何形式读取
im read _ load _ gdal=8//gdal驱动程序加载图像
(;
函数imshow ) )显示图像。 窗口将自动调整为图像大小。 第一个参数是窗口的名称,然后是我们的图像。 可以创建多个窗口。 不同的窗口由不同的名称区分。
用于存储图像的API是imwrite,该函数的原型是
连续字符串名称,输入阵列img,
const STD : vectorintparams=STD : vector int ();
param1)保存图像文件名,同时也决定了保存位置
param2:输入要保存的映像src
ret:true :写入成功false :写入失败
waitKey ()是键盘绑定函数。 另外,其时间尺度为毫秒级。 函数等待特定的几毫秒,以确定是否有键盘输入。 如果在特定的几毫秒内按任意键,此函数将恢复为键的ASCII代码值,并且程序将继续运行。 如果没有键盘输入,则返回值为-1,如果将此函数的参数设置为0,则无限地等待键盘输入。
二、实验程序# include opencv2/opencv.HPP # includeiostreamusingnamespacestd; using namespace cv; intmain(intargc,char **argv ) {Mat src,dst; //loadsa多页面文件转换器(src.empty ),定义存储图像数据的数组src=imread('./1.png ',0 ) 返回- 1; } bool write _ bool=im write (' gray.png ',src ); 成功写入if(write_bool(/写入成功cout ) gray.png图像并保存到当前目录的endl; } named window (输入图像)、CV_WINDOW_AUTOSIZE ); //窗口命名为: 1窗口名称2窗口显示方式im show (输入图像)、src; 在//cv库下的imshow方法中显示图像。 1窗口名称2srcwaitkey(0); 持续显示图像,直到检测到//键按下并停止显示:等待密钥(等待延迟=0)延迟延迟延迟时间return 0; }进而将实验结果封装为API
# include opencv2/opencv.HPP # includeiostreamusingnamespacestd; using namespace cv; boolsaveimage(matsrc ) bool write _ bool=im write (' gray1. png ',src ); 成功写入if(write_bool(/写入成功cout ) gray.png图像并保存到当前目录的endl; }else{cout写入失败' endl; }返回真; }intmain(intargc,char **argv ) {Mat src,dst; //loadsa多页面文件转换器(src.empty ),定义存储图像数据的数组src=imread('./1.png ',0 ) 返回- 1; }保存图像(src; 命名窗口(输入图像)、CV_WINDOW_AUTOSIZE ); //窗口命名为: 1窗口名称2窗口显示方式im show (输入图像)、src; 在//cv库下的imshow方法中显示图像。 1窗口名称2srcwaitkey(0); 持续显示图像,直到检测到//键按下并停止显示:等待密钥(等待延迟=0)延迟延迟延迟时间return 0; (三)实现结果