Matlab输入RGB值后如何接收颜色名称

时间:2014-10-04 05:19:31

标签: matlab image-processing colors rgb pixel

Matlab:输入RGB值后如何接收颜色名称

所以我有这个图像,我使用impixelregion来查找每个像素的RGB值。但是,我希望在Matlab上显示颜色的名称。例如,如果我输入RGB值[9,9,11],我想让Matlab告诉我颜色是黑色的。我是否必须为此创建自己的函数或代码,或者有什么东西可以让我输入我想要的任何RGB值并让Matlab告诉我这些RGB值代表什么颜色?

谢谢你!

1 个答案:

答案 0 :(得分:0)

这是一个带有名称和相应颜色值的文件,位于wikipedia之后:

Colors_name_val.mat

这里是相应的代码,为您提供颜色的名称。

function name = name_rgb(my_val)

   load('Colors_name_val.mat')

   delta=10000000;

   for k=1:430
       curDelta=sum(abs(my_val-Val(k,:)));

       if(curDelta<delta)
           name=Name(k);
           delta=curDelta;
        end
   end
end

通过最小化sum(abs(my_val-Val(k,:)))

,它只会找到列表中颜色较少的颜色