博客
关于我
matlab练习程序(RGB2HSV、HSV2RGB)
阅读量:802 次
发布时间:2023-02-07

本文共 1603 字,大约阅读时间需要 5 分钟。

色相、饱和度、明度的相互转换

在图像处理领域,色相、饱和度和明度是三个重要的颜色特性参数,它们之间具有密切的关联关系。通过对这些参数的转换和计算,我们可以更好地理解图像的颜色特性。

以下是基于MATLAB的代码解释:

清除所有图形窗口并重置颜色缓冲区:

clear all;close all;clc;img = imread('lena_color.jpg');  % 读取图像img = mat2gray(img);  % 将图像转换为灰度图像

获取图像的RGB值:

[m n dim] = size(img);  % 获取图像的大小imshow(img);  % 显示图像R = img(:,:,1);  % 获取红色通道G = img(:,:,2);  % 获取绿色通道B = img(:,:,3);  % 获取蓝色通道

色相转换:

H = zeros(m, n);  % 初始化色相矩阵S = zeros(m, n);  % 初始化饱和度矩阵V = zeros(m, n);  % 初始化明度矩阵for i = 1:m    for j = 1:n        r = R(i, j);        g = G(i, j);        b = B(i, j);                MAX = max([r, g, b]);  % 获取颜色通道的最大值        MIN = min([r, g, b]);  % 获取颜色通道的最小值                if MAX == MIN            H(i, j) = 0;  % 当颜色单调时,色相为0        elseif MAX == r && g > b            H(i, j) = 60 * (g - b) / (MAX - MIN);  % 计算色相角        elseif MAX == r && g < b            H(i, j) = 60 * (b - g) / (MAX - MIN);  % 计算色相角        elseif MAX == g            if b > r                H(i, j) = 60 * (b - r) / (MAX - MIN);  % 计算色相角            else                H(i, j) = 60 * (r - b) / (MAX - MIN);  % 计算色相角            end        elseif MAX == b            if r > g                H(i, j) = 60 * (r - g) / (MAX - MIN);  % 计算色相角            else                H(i, j) = 60 * (g - r) / (MAX - MIN);  % 计算色相角            end        end                % 饱和度计算(该部分代码未在示例中完整展示)        % V(i, j) = 1 - (MIN / MAX);  % 饱和度计算公式示例            endend

饱和度计算:

% 以下为饱和度计算的示例代码片段V(i, j) = 1 - (MIN / MAX);  % 饱和度计算公式

色相、饱和度和明度之间的关系:

  • 色相(H)反映了颜色的颜色特性。
  • 饱和度(S)描述了颜色纯度,饱和度越高,颜色越纯。
  • 明度(V)表示颜色亮度,明度越高,颜色越亮。

通过上述代码,我们可以清晰地看到色相、饱和度和明度之间的计算关系。这三者共同描述了图像的颜色特性,是图像处理和计算中的重要参数。

转载地址:http://gfyfk.baihongyu.com/

你可能感兴趣的文章
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 通过查看mysql 配置参数、状态来优化你的mysql
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
查看>>
MySQL 错误
查看>>
mysql 随机数 rand使用
查看>>
MySQL 面试题汇总
查看>>
MySQL 面试,必须掌握的 8 大核心点
查看>>