[OpenCV]图像的载入、显示、输出

先来看一个简单的OpenCV的程序:

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;

int main() {
	// 读入一张图片(游戏原画)  
	Mat img = imread("pic.jpg");
	// 创建一个名为 "游戏原画"窗口  
	namedWindow("游戏原画");
	// 在窗口中显示游戏原画  
	imshow("游戏原画", img);
	// 等待6000 ms后窗口自动关闭  
	waitKey(6000);
}

1.Mat类是用于保存图像以及其他矩阵数据的数据结构。

2.图像的载入函数为imread():Mat imread(const string& filename,int flags=1);

其中第一个参数为需要载入的图片路径名。第二个参数默认为1,如果忽略这个参数,就表示载入三通道的彩色图像。

详解:

CV_LOAD_IMAGE_GRAYSCALE 取值为0显示灰色图像。gray scale

CV_LOAD_IMAGE_COLOR 取值为1显示彩色图像。

CV_LOAD_IMAGE_ANYDEPTH取值为2,显示对应深度图像depth

CV_LOAD_IMAGE_ANYCOLOR取值为4,显示3信道图(与1有什么区别??)

注意:只有0,1,2,4没有3显示无损图像为2|4

3.namedWindow()函数。

用于创建一个窗口:void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE)

第一个参数为窗口的名称就如同上面的代码,第二个参数默认为WINDOW_AUTOSIZE表示自适应窗口大小还有另外一个参数WINDOW_NORMAL,用户 可以改变窗口的大小。

4.imshow()函数

用于在指定的窗口中显示一副图像:void imshow(const string& winname,InputArray mat);

第一个参数:填写需要显示的窗口标识名称。

第二个参数:填写要显示的图像正如上面的代码那样。

5.imwrite()函数

接受三个参数:

第一个参数:filename,注意要加上后缀名称

第二个参数:img,填写一个Mat类型的图像数据

第三个参数:一般不用填写表示特定格式保存的图像,对于JPEG表示图像质量(0,100)默认95,对于PNG表示图像的压缩级别(0,9)默认为3


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值