博客
关于我
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/

你可能感兴趣的文章
Movie播放Gif,完美实现屏幕适配
查看>>
mppt算法详解-ChatGPT4o作答
查看>>
mpvue的使用(一)必要的开发环境
查看>>
MQ 重复消费如何解决?
查看>>
mqtt broker服务端
查看>>
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
查看>>
MQTT vs HTTP:谁更适合物联网?
查看>>
MQTT 保持活动计时器:让您的设备保持连接
查看>>
MQTT 保留消息
查看>>
MQTT 和 EMQX到底有啥区别?
查看>>
MQTT 在工控上位机中的应用
查看>>
MQTT 持久会话与 Clean Session 详解
查看>>
MQTT 通信协议详解与应用场景全解析
查看>>
MQTT介绍及与其他协议的比较
查看>>
MQTT共享订阅:实现高效的消息通信
查看>>
MQTT协议知识梳理,看完你就懂了!
查看>>
MQTT工作笔记0006---CONNECT控制报文3
查看>>
MQTT工作笔记0007---剩余长度
查看>>
MQTT工作笔记0008---服务质量
查看>>
MQTT工作笔记0009---订阅主题和订阅确认
查看>>