matlab rgb 含义,matlab把rgb轉為顏色名
獲取顏色名的m函數:
function cname = colorname(r,g,b)
hsv = rgb2hsv(r,g,b) ;
h = hsv(:,:,1);
s = hsv(:,:,2);
v = hsv(:,:,3);
sprintf('h:%.2f,s:%.2f,v:%.2f',h,s,v)
if(v < 0.2 && s < 0.5)
if(h >= 0.165 && h <= 0.54 && v > 0.15 )
cname = '黑綠色';
else
cname = '黑色';
end
elseif((v > 0.9 && s < 0.04) || (v > 0.95 && s < 0.1) || (v > 0.98 && s < 0.15))
cname = '白色';
elseif ((v >= 0.3 && s < 0.18) || (v >= 0.15 && s < 0.1))
if(v > 0.7)
if(s > 0.15)
if(h <= 1/12 || h >= 11/12)
cname = '淺紅灰色';
elseif(h >= 1/12 && h <= 0.17)
cname = '淺黃灰色';
elseif(h >= 0.165 && h <= 0.54)
cname = '淺綠灰色';
elseif(h >= 5/12 && h <= 7/12)
cname = '淺藍灰色';
elseif(h >= 0.72 && h <= 9/12)
cname = '淺藍紫灰色';
elseif(h >= 9/12 && h <= 11/12)
cname = '淺紅灰色';
end
else
cname = '淺灰色';
end
elseif(v > 0.5)
cname = '灰色';
elseif(v > 0.4)
cname = '深灰色';
else
cname = '黑灰色';
end
else
if(h <= 1/12 || h >= 11/12)
if(h <= 1/12 && h >= 0.05)
if(s < 0.5)
if(v < 0.65)
cname ='褐色';
else
cname = '茶色';
end
elseif(v > 0.8)
cname = '橙色';
else
cname = '褐色';
end
elseif(h >= 11/12)
if(v < 0.6)
cname = '梅紅色';
elseif(s < 0.5)
if(v > 0.8)
cname = '玫瑰紅色';
else
cname = '粉紅色';
end
else
cname = '紅色';
end
elseif(h < 0.012)
if(s > 0.8 && v > 0.8)
cname = '紅色';
elseif(s < 0.3 && v < 0.6)
cname = '深褐色';
elseif(s < 0.3)
cname = '粉酒紅色';
elseif(v < 0.6)
cname = '深紅色';
else
cname = '酒紅色';
end
else
if(v > 0.8)
cname = '橙紅色';
else
cname = '咖啡色';
end
end
elseif(h >= 1/12 && h <= 0.17)
if(h < 0.09 && s < 0.6)
cname = '黃膚色';
elseif(h < 0.12)
if(s > 0.7 && v > 0.7)
cname = '淺橙色';
else
cname = '土黃色';
end
elseif(h < 0.15)
cname = '金色';
elseif(s < 0.41 && v > 0.7)
cname = '淺黃色';
elseif(s < 0.85)
cname = '檸檬黃色';
elseif(v < 0.4)
cname = '橄欖色';
elseif(v < 0.6)
cname = '深黃色';
else
cname = '黃色';
end
elseif(h >= 0.165 && h <= 0.53)
if(h < 0.25)
cname = '橄欖綠色'; %又名酸橙色
elseif(h < 0.28)
cname = '黃綠色';
elseif(h < 0.35)
if(s < 0.6)
if(s < 0.4)
cname = '淺綠色';
else
cname = '薄荷綠色';
end
elseif(v > 0.7)
cname = '鮮綠色';
elseif(v < 0.3)
cname = '深綠色';
else
cname = '綠色';
end
elseif(h < 0.46)
cname = '海綠色';
elseif(v > 0.7)
if(v > 0.9)
if(s > 0.9)
cname = '青綠色';
else
cname = '淺青綠色';
end
else
cname = '水綠色';
end
else
cname = '青色';
end
elseif(h >= 0.53 && h <= 7/12)
if(s > 0.7)
if(v > 0.7)
cname = '天藍色';
else
cname = '深青色';
end
else
cname = '淡藍色';
end
elseif(h >= 7/12 && h <= 0.72)
if(v < 0.55)
cname = '深藍色';
elseif(s > 0.85)
cname = '藍色';
elseif(s < 0.4 && v > 0.7)
cname = '粉藍色';
elseif(s < 0.9)
if(v > 0.8)
cname = '淺藍色';
elseif(s < 0.5)
cname = '灰藍色';
elseif(s < 0.6 && v > 0.6)
cname = '紫藍色';
else
cname = '靛藍色';
end
else
cname = '藍色';
end
elseif(h >= 0.72 && h <= 0.8)
if(v < 0.5)
cname = '深紫色';
elseif(v > 0.8)
cname = '淡紫色';
else
cname = '藍紫色';
end
elseif(h >= 0.8 && h <= 11/12)
if(s > 0.4)
if(v < 0.7)
if(s > 0.85)
cname = '紫羅蘭藍色';
else
cname = '梅紅色';
end
else
cname = '粉紅色';
end
else
cname = '灰紫色';
end
end
end
matlab rgb 含义,matlab把rgb轉為顏色名相关推荐
- 【颜色空间转换大集合】RGB到YIQ,RGB到HSI和HSI到RGB,RGB到YcbCr,RGB到XYZ颜色转换matlab代码的Demo,含详细的解释
废话不说,先上图, 实现方式:matlab 实现功能: 实验目标 了解图像颜色空间的转换关系. 了解图像的文件结构. 实验内容 完成如下颜色空间的转换.(4 Points) RGB -> YIQ ...
- matlab实现rgb转ycgcr以及rgb转hsi
matlab中自带了rgb转ycbcr的函数rgb2ycbcr.m,但是没有rgb2ycgcr.m,自己根据如下公式实现了该转换,以下代码可参考Github. [ Y C g C r ] = [ 16 ...
- matlab rgb 矩阵,Matlab中rgb2ind函数用法
目录 rgb2ind将 RGB 图像转换为索引图像 语法 [X,cmap] = rgb2ind(RGB,Q) [X,cmap] = rgb2ind(RGB,tol) X = rgb2ind(RGB,i ...
- 简要叙述matlab的含义,1,简述MATLAB组成部分? 2,说明使用M文件编辑/调试器的方法和优点? 3,存储在工作空间中的数组能编辑吗...
匿名用户 1级 2012-05-17 回答 我也考这个....祝你好运 1,简述MATLAB组成部分? (1)开发环境(development Environment); (2)MATLAB数学函数库 ...
- matlab 面 颜色,matlab曲面颜色
利用 colorbar 指令,可顯示 MATLAB 如何以不同顏色來代表曲面的高度,例如若先輸入「peaks」,再輸入「colorbar」,就可以得到下列圖形: Example 1: 04-三維立體繪 ...
- matlab中fdyn,Matlab的用法总结
1. 对序列进行洗牌 randperm() randperm()产生随机的序列 %if filepaths 是一个5*1的结构体,then cshuffle = randperm(length(fil ...
- matlab 倾斜矫正,matlab图像倾斜校正
4 图像颜色畸变校正介绍图像颜色畸变现象可以是由摄像器材导致,也可以是由于真实环境本身就偏 色导致,还有的是由于图像放置过久氧化.老化导致.无论其产生的原因如何, 其校正方法都是类似的.如果用 Mat ...
- 基于matlab山脊线,基于Matlab的标记分水岭分割算法
lyqmath 1 综述 Separating touching objects in an image is one of the more difficult image processing o ...
- matlab gif生成器,matlab制作及生成avi,gif动画
一.动画的制作 Matlab中动画实现的方法主要有下面三种 1.电影动画:从不同的视角拍下一系列对象的图形,并保存到变量中,然后按照一定的顺序像电影一样播放. http://www.matlabsky ...
最新文章
- python编程从入门到精通pdf-终于晓得python编程从入门到精通
- mysql库操作、表操作
- simulink m序列仿真(待验证)
- android支持色彩管理软件,安卓首家!OPPO全链路色彩管理系统亮相:全局支持10bit照片视频...
- AOP原理解析及Castle、Autofac、Unity框架使用
- 数字信号处理实验matlab版答案,数字信号处理习题答案及matlab实验详解.pdf
- Num48 boss---02(pdm翻转,持久表现抽取,用户登退,消息提示,修密,自定义拦截器)...
- 各种模糊控制算法案例word+程序+建模过程
- RGB转灰度的几种算法
- Python爬虫教程,采集bilibili弹幕并生成词云
- 天基实业投资理财需了解的基础知识
- 一个人赶着鸭子去每个村庄卖,每经过一个 村子卖去所赶鸭子的一半又一只。 这样他经过了 七个村子后还剩 两只鸭子,问问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?
- Apple Music(应用内打开Apple Music)
- matlab sisotool工具DEMO
- Java数据类型总结
- 【Linux】linux 查看服务器配置:核数和内存
- Unity 3D-learning 打飞碟游戏改进版ben
- 线上沉浸式购物,VR购物让店铺营销更有差异化!
- 挖掘行业长尾关键字以及词库的步骤
- 学习vue源码(14)就慢慢由表入里学习diff