Image 如何从HSV图像中分别提取H s和V

Image 如何从HSV图像中分别提取H s和V,image,matlab,image-processing,colors,Image,Matlab,Image Processing,Colors,我试图从HSV图像[1x3]中提取H S和V通道,以将其转换为线性空间,但不知何故,我无法提取它,或者至少在最后,当我绘制a、b、c时,我得到了一个立方体,正如我所期望的那样,其中有一个圆锥体 %hsvToLinearSpace % Converts a color from Matlab's HSV cube to a linear space (i.e. a cone) % %Inputs: % colorsHsv - [1x3] color in Matlab's HSV spac

我试图从HSV图像[1x3]中提取H S和V通道,以将其转换为线性空间,但不知何故,我无法提取它,或者至少在最后,当我绘制a、b、c时,我得到了一个立方体,正如我所期望的那样,其中有一个圆锥体

    %hsvToLinearSpace
% Converts a color from Matlab's HSV cube to a linear space (i.e. a cone)
%
%Inputs:
% colorsHsv - [1x3] color in Matlab's HSV space
%
%Outputs:
% colorLinear - [1x3] color in a linear space where Euclidean distances can
% be applied.
function colorLinear=hsvToLinearSpace(colorHsv)
    %---Modify this code---%
    colorLinear(1) = colorHsv(1);
    colorLinear(2) = colorHsv(2);
    colorLinear(3) = colorHsv(3);
    a=colorHsv(2)*colorHsv(3)*cos(2*pi*colorHsv(1));
    b=colorHsv(2)*colorHsv(3)*sin(2*pi*colorHsv(1));
    c=colorHsv(3);

    %----------------------%
end

您正在函数中计算
a
b
c
,但没有返回它们,因此无法使用它们。既然
colorLinear
colorHsv
相同,而且根本没有改变,那么它的用途是什么?看来你还是要做功课了。