opencv:彩色图像到灰度图像的转换与保存

本文详细介绍基于opencv的彩色图像到灰度图像的转换和图像的保存

首先介绍要用到的两个关键的opencv函数,cvtColor(InputArray src, OutputArray dst,   int code,  int dstCn = 0) 和imwrite(const String & filename,InputArray img, const std::vector<int> & params = std::vector<int>())

 

cvtColor(InputArray src, OutputArray dst,   int code,  int dstCn = 0):

  •  InputArray src: 输入图像即要进行颜色空间变换的原图像,可以是Mat类 

  • OutputArray dst: 输出图像即进行颜色空间变换后存储图像,也可以Mat类 

  • int code: 转换的代码或标识,即在此确定将什么制式的图片转换成什么制式的图片,

  • int dstCn = 0: 目标图像通道数,如果取值为0,则由src和code决定

 

 

imwrite(const String &filename, InputArrary img, const std:vector<int>& params = std::vector<int>())

  • filename:需要保存图像的文件名,要保存图片为哪种格式,就带什么后缀。

  • img:要保存的图像。

  • params:表示为特定格式保存的参数编码。

完整代码如下:

#include <opencv2/opencv.hpp>

#include<iostream>

using namespace cv;

using namespace std;

void main()

{

Mat image;

Mat imgGray;

image = imread("lena.jpg");//根据自己图像路径填写,此代码默认当前文件夹

cvtColor(image, imgGray, CV_BGR2GRAY);

namedWindow("image", WINDOW_NORMAL);

imshow("image", imgGray);

imwrite("result.jpg", imgGray);//根据自己图像路径填写,此代码默认当前文件夹

waitKey();

}

下图为结果图

                  

原图                                                     灰度图 

灰度图像将会保存到了指定文件夹

至此大功告成,如果有什么问题欢迎留言讨论,关注公众号我们一起学习

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值