matlab中函数rgb2hsv使用的转换公式是什么?

小脾气 2024-05-25 11:10:23
最佳回答
公式:  h参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。 纯度s为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。s=0时,只有灰度。 v表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系。 rgb转化到hsv的算法:max=max(r,g,b) min=min(r,g,b) if r = max, h = (g-b)/(max-min) if g = max, h = 2 + (b-r)/(max-min) if b = max, h = 4 + (r-g)/(max-min) h = h * 60 if h < 0, h = h + 360 v=max(r,g,b) s=(max-min)/max hsv转化到rgb的算法 if s = 0 r=g=b=v else h /= 60; i = integer(h) f = h - i a = v * ( 1 - s ) b = v * ( 1 - s * f ) c = v * ( 1 - s * (1 - f ) ) switch(i) case 0: r = v; g = c; b = a; case 1: r = b; g = v; b = a; ase 2: r = a; g = v; b = c; case 3: r = a; g = b; b = v; case 4: r = c; g = a; b = v; case 5: r = v; g = a; b = b; hsv对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角h,并让v=s=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小v而s不变,同样增加白色可以减小s而v不变。例如,要得到深蓝色,v=0.4 s=1 h=240度。要得到淡蓝色,v=1 s=0.4 h=240度。 一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16bit表示hsv的话,可以用7位存放h,4位存放s,5位存放v,即745或者655就可以满足我们的需要了。 由于hsv是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如photoshop(在photoshop中叫h**)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用hsv来实现。 20210311
汇率兑换计算器

类似问答
  • 效用函数的公式是什么
    • 2024-05-25 13:57:13
    • 提问者: 未知
    5、—第i种运输方式的费用,有时也称为效用函数,u=ao+alx一+灸xc....6、为了对控制做出评价,需要一套函数作为评价指标:j(t)=∑k=0kγu(t+k)=u(t)+jγ(t+1)(2)其中u(t)=u[r(t),a...
  • excel函数公式:9个工作中最常用的函数公式
    • 2024-05-25 05:15:31
    • 提问者: 未知
    1一、if函数:条件判断。目的:判断相应的分数,划分类别。方法:在目标单元格中输入公式:=if(c3=100,"满分",if(c3>=95,"优秀",if(c3>=80,"良好",if(c3>=60,"及格","不及格"))))。解读:if函数不仅可以单独进行条件判断,还可以嵌套进...
  • 我要编写的公式中含有delta函数在matlab中怎么编写
    • 2024-05-25 10:47:20
    • 提问者: 未知
    这里的delta是什么?
  • matlab中prod函数的用法
    • 2024-05-25 15:40:16
    • 提问者: 未知
    1先介绍这个求乘函数的prod的语法格式,如图所示:2现在我们创建一个向量和一个矩阵,方便我们具体的介绍函数的使用,如图所示:3先说一下关于一维矩阵(向量)的使用,如图所示:3该信息非法爬取自百度经验4接着介绍矩阵的使用(默认是按列相乘的),如图所示:5最后说一下按行相乘的使用,如图所示:end
  • matlab作多项式函数图!请教高手!!
    • 2024-05-25 06:29:46
    • 提问者: 未知
    你对f导数=0 可以得出x分别为9.0471439113366407847584761889595 302.17115631253862150939860413444+112.92401056003565536717390249645*i 68.305271731793038371495383968330+44.856561383190560208153911831404*i 68.3052717...
  • 怎么使用excel公式中的lower函数
    • 2024-05-25 22:37:45
    • 提问者: 未知
    1首先打开一个excel或者wps表格,选中一个单元格并双击,输入“=lower”然后双击第一个提示lower2系统会自动输入函数名称lower和一个括号”(“3这时候还会提示现在需要输入的参数是什么,lower的参数是一个文本4我们只需要文本内容可以直接输入5转小写函数的作用就是:将文本中大写英文转小写end
  • matlab中怎么定义函数
    • 2024-05-25 23:52:47
    • 提问者: 未知
    1第一步打开matlab,点击主页的新建->函数,也可以鼠标右键左侧当前文件夹空白处,点击新建文件->函数,如下图所示:2第二步定义一个test函数,输入“function [ result ] = test(a,b)result=a+b;end”,其中test是函数名,result 是返回结果,a和b是输入参数,如下图所示:3第三步在命令行窗口输入“test(10,20)”,调用te...
  • excel函数教程-date函数的使用
    • 2024-05-25 13:21:50
    • 提问者: 未知
    1首先我们来看一下date函数的语法,它的形式是date(year, month, day),如图所示;2我们在单元格输入函数=date(1990,1,2),按回车键就可以看到日期了,如图所示;3year的取值如果小于1900,则会将(year+1900),比如我们输入92则会得到1992,如图所示;4如果year大于9999,则会返回#num!错误值,如图所示;5如果month大于12,则会显示...
  • matlab中的xlim是什么意思?怎么使用?
    • 2024-05-25 06:28:15
    • 提问者: 未知
    matlab中的xlim是什么意思?怎么使用?x轴上下限设定xlim([a,b]);y轴上下限设定ylim([a,b])使用方法如下,xlim([xmin xma:-xlim,matlab
  • 使用matlab剔除数据中的异常点
    • 2024-05-25 23:42:46
    • 提问者: 未知
    1这里我们只给出一个例子。aa=randn(1000,1)/10;1相关内容未经许可获取自百度经验2给aa人为的加入几个异常点:aa(100) = aa(100)+3;aa(301) = aa(301)+5;aa(501) = aa(501)-14;aa(781) = aa(781)-2;plot(aa);3可以看一下aa的直方分布图;h**t(aa,100);4这个数据还不错;但是可以通过其他方...
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。