Opencv C++入门学习 一、图像的读取、显示和保存

本文所需资源:链接:https://pan.baidu.com/s/1KhVOe_J25R_fmfXLldaQjA?pwd=1024 
提取码:1024 
本系列文章为本人初学Opencv的学习随笔,若有疏漏,还望海涵。

本系列文章无任何商业用途,仅供学习。

一、图像的读取、显示和保存

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main()
{
	Mat image;   //创建一个空图像image
	image = imread("D://lena.png", IMREAD_COLOR);  //读取文件夹中的图像  此处IMREAD_COLOR为加载彩色影像,默认可不写。

	//检测图像是否加载成功
	if (image.empty())  //检测image有无数据,无数据 image.empty()返回 真
	{
		cout << "Could not open or find the image" << endl;
		return -1;
	}

	namedWindow("输入的图片", WINDOW_NORMAL);  //创建显示窗口,不加这行代码,也能显示,只不过窗口大小不能改变,这里的WINDOW_NORMAL参数使得我们可以随意调节窗口大小
	imshow("输入的图片", image);  //在窗口显示图像

	imwrite("1.png", image); //保存图像为png格式,文件名称为1

	waitKey(0);  //暂停,保持图像显示,等待按键结束

	return 0;

}

8ff8d8323b7d4d7ebf8c70a1fe71c402.png

上述代码结果如上图。

此处需注意若

96f7f9e53b314ef9bfac3ec8fc27382f.png

namedWindow和imshow中的名称不一致,会导致出现如下情况:

fe8225cba2724c76996996b6cccb62b1.png外层的IMAGE窗口可以自由缩放,然而lena这张图是默认的不可缩放模式。

函数介绍:

1.1 imread函数

使用imread()读取图像,imread包含两个参数:

imread(图像路径, 图像形式);

其中图像形式有三种:

1.加载彩色图像(默认加载形式)

imread(图像路径, IMREAD_COLOR);

或者:

imread(图像路径, 1);

2.加载灰度模式图像

imread(图像路径, IMREAD_GRAYSCALE);

或者:

imread(图像路径, 0);

3.加载图像,包括alpha通道

imread(图像路径,IMREAD_UNCHANGED);

或者:

imread(图像路径, -1);

1.2 namedWindow函数

功能:namedWindow() 的功能就是新建一个显示窗口,用来显示图像。

namedWindow() 包含两个参数:

namedWindow(窗口名称, 窗口形式)

窗口形式常用的两种:

1.显示的图像大小不能改变(默认形式)

namedWindow(窗口名称, WINDOW_AUTOSIZE)

2.图像大小能够调节

namedWindow(窗口名称, WINDOW_NORMAL)

1.3 imshow函数

功能:imshow函数用于显示图像。

imshow() 函数包含两个参数:

imshow(窗口名称,图像名称)

1.4 imwrite函数

功能:imwrite函数用于显示图像。
imwrite() 函数包含两个参数:
imwrite(保存图像名称及格式,图像名称)

猜你喜欢

转载自blog.csdn.net/w2492602718/article/details/133976963