图像颜色空间变换

图像颜色空间变换

RGB颜色模型

空间立体模式,三个通道叠加,形成颜色

第一个通道是蓝色 B 分量 blue

第二个通道是绿色 G 分量 green

第三个通道是红色 R 分量 red

三种存储图像空间

  1. 8U 0-255
  2. f 32F 0-1 映射为 0-255 强制类型转换 当 <0 时,全部为黑色,当>0 时全部为黑色
  3. d 64F 0-1

图像数据类型的转换

converTo()

void cv::Mat::converTo(OutputArray 			m,
                      int					rtype,
                      						alpha = 
                      double 				1,
                      double				beta = 0) const
  • m: 转换后输出图像
  • rtype:转换图像的数据类型
  • alpha:转换过程中的缩放因子
  • beta:转换过程中的偏置因子

HSV颜色模型

  • H 色度 什么颜色 (Hue)
  • S 饱和度 深浅 (Saturation)
  • V 亮度 亮暗 (Value)

GRAY颜色模型

在这里插入图片描述

颜色转换

cvColor()

void cv::cvColor(InputArray			src,
                OutputArray			dst,
                int					code,
                int					dstCn = 0)
  • src:待转换颜色模型的原始图像
  • dst:转后颜色模型后的目标图像
  • code:颜色转换的空间标志 如由RGB空间转换为HSV空间
  • dstCn:目标图像中的通道数,如果参数为0, 则从src和代码中自动导出参数

第四个通道 图像的透明度

代码展示

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

using namespace std;
using namespace cv;

int main()
{

	Mat img = imread("./lena.png");

	Mat img32;
	img.convertTo(img32, CV_32F, 1 / 255.0, 0);

	Mat HSV, HSV32;
	cvtColor(img, HSV, COLOR_BGR2HSV);
	cvtColor(img32, HSV32, COLOR_BGR2HSV);

	Mat gray0, gray1;
	cvtColor(img, gray0, COLOR_BGR2GRAY);
	cvtColor(img, gray1, COLOR_RGB2GRAY);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值