图像的加载、修改、保存

目标

  1. 加载一幅图像:cv::imread()
  2. 将RGB图转化成灰度图像:cv::cvtColor()
  3. 将图像存入磁盘: cv::imwrite()
  4. 显示图像:cv::namedWindows与cv::imshow()

函数说明

  • cv::imread()
  1. 返回值:将图像转成Mat对象 返回
  2. 第一个参数:图像名(可加路径)
  3. 第二个参数(常见有三种):
        IMREAD_UNCHANGED :加载原图
        IMREAD_GRAYSCALE :转化成单通道的灰度图像
        IMREAD_COLOR :将原图转化成BGR顺序的彩色图像

  • cv::cvtColor()
  1. Mat对象,源图像
  2. Mat对象,目的图像
  3. 转化方式:COLOR_BGR2HLS、COLOR_BGR2GRAY 、COLOR_BGR2HSV等

  • cv::imwrite():保存一张图像
  1. 第一个参数:文件路径,根据扩展名来保存格式
  2. 第二个参数:图像 对象

  • cv::namedWindows与cv::imshow()
  1. namedWindows:创建一个窗口,由OpenCV自动创建销毁(如果你真的想销毁可以调用 cv::destroyWindow or cv::destroyAllWindows ),你无需关心,如果已经有了相同名字的窗口,那么调用没有任何动作。
    (1)第一个参数:传一个 窗口名即可
    (2)第二个参数:WINDOW_NORMAL(可以调节窗口大小) 、WINDOW_AUTOSIZE (默认,用户不能改变窗口的大小)

  2. cv::imshow()
    (1) 参数1:需要显示的窗口名
    (2) 参数2:显示的Mat对象


演示代码

#include <opencv2/opencv.hpp>


using namespace cv;
using namespace std;


int main(void)
{
	Mat image;
	image = imread("../lena.jpeg");
	namedWindow("display_image",WINDOW_AUTOSIZE);
	imshow("display_image",image);

	

	Mat image_png;
	cvtColor(image,image_png,COLOR_BGR2GRAY);
	namedWindow("display_image_png",WINDOW_AUTOSIZE);
	imshow("display_image_png",image_png);
	imwrite("../lena.png",image_png);
	
	waitKey();
	return 0;
}

结果:
lena.jpeg
在这里插入图片描述
lena.png
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zzyczzyc/article/details/84261901
今日推荐