将图片从RGB空间转到HSV空间,图片矩阵的大小会改变吗

将图片从RGB空间转到HSV空间,图片矩阵的大小会改变吗,第1张

不会

RGB与HSV色彩的关系如果所示明度指的是图像本身的最大值,也就是图像的亮度;饱和度指的是灰度部分占比的多少,灰度占比越低饱和度越高;色相是将红黄蓝三个纯色的图像放在一个圆上,比如我们上面的颜色是红绿蓝三色的混合,那么色相会从绿色角度(120度)偏向红色一些,最终的角度就是色相。比如我们选择个风景图像,并对其中的HSV进行调整。

OpenCv 读取一副图像的函数是 cvloadimage,rgb转换成hsv的函数是 cvcvtcolor,

具体的函数怎么使用百度百科上有,有对这个函数专门的解释,不难使用的

H表示v表示亮度,你可以用一副全白转换至HSV,就可以得到v的最大值;再用一副全黑的图像转换至HSV,就可以得到v的最小值。理论上讲V的取值范围是0~1,这是归一化后的结果。但是貌似并不是所有的matlab版本对图像处理的范围都是0~1之间,有的

当h为m3的矩阵时,hsv2rgb是把hsv调色板转换成rgb调色板。

当h为mn3的矩阵时,hsv2rgb是把hsv图像转换成rgb图像。

什么是调色板呢?调色板是一个存贮各种颜色值的列表。

这样索引图像只需存贮列表中的索引就可以了,具体的颜色值只需要到颜色列表中去查找。

但是表示颜色的方法有很多种。

最常见的RGB,第一个分量表示红色,第二个绿色,第三个蓝色。

RGB虽然方便计算机处理,但对人并不直观

HSV则对人很直观,H表示颜色,S表示饱和度(可以理解为纯度),V为亮度。例如“有点浓的暗红色”对应成HSV即“H为红色,S比较高(纯),V比较低(暗)”。

H,S,V三个变量的取值均在0和1之间。

程序解释如下:

V=V-min(V(:));

V=V/max(V(:));

V=25+075V;

是将V的值映射到[025,1]之间

M=M-min(M(:));

M=M/max(M(:));

是将M映射到[0,1]之间

1 基本颜色

11 palette()

111 palette的默认颜色

112 重新定义palette

超过palette(rainbow(10))的颜色数量后,颜色会循环使用

改为palette默认的基本颜色,R重启后会自动恢复

12 colors()

colors() 含有657种颜色名称

2 色彩空间

21 RGB颜色

将颜色名称转换为RGB色彩

22 HSV颜色

将RGB色彩转换为HSV色彩

23 HCL色彩(Hue, Chroma, Luminance)

3 Color Gradients/Color Ramps 渐变色

31 自带的渐变色

R自带的grDevices包有如下6个调色板,传入获取颜色的个数,就获得相应个数的颜色列表,gray()的参数需在[0,1]。

rainbow()、heatcolors()、terraincolors()、topocolors()、cmcolors()、gray()

32 colorRamp() 和 colorRampPalette()

colorRamp()和colorRampPalette()都可用于建立颜色板。通过传入希望的主要颜色如蓝、紫,colorRamp()和colorRampPalette都返回一个函数。

二者返回的函数区别为:colorRamp()返回的函数像grey()一样,入参为[0,1]之间的数列,数列中数字个数即为函数返回的颜色板色彩数。colorRampPalette()返回的参数则像rainbow()一样,入参为希望返回颜色板色彩的数量。而且通过下例可知,colorRampPalette()返回 渐变颜色板函数 ,而colorRamp()返回 对比颜色板函数 。虽然都是用同样的颜色,结果不同。

33 RColorBrewer包

虽然说RColorBrewer包中实际用到的就只有brewerpal()函数,但是包中的两个优点使得其非常实用。一是,包中颜色板被划分为序列型(sequential)、离散型(diverging)、分类型(qualitative)这三种基本能满足统计作图需要的类型;二是,颜色都比较协调。更多指引见其官网 ColorBrewer 。

每个系列颜色数量是固定的。

序列型颜色板适用于从低到高排序明显的数据,浅色数字小,深色数字大。

分类型颜色板比较适合区分分类型的数据。

离散型颜色板适合带“正、负”的,对极值和中间值比较注重的数据。

34 创建渐变色

利用HSV和HCL创建自己想要的渐变色

原文链接:>

以上就是关于将图片从RGB空间转到HSV空间,图片矩阵的大小会改变吗全部的内容,包括:将图片从RGB空间转到HSV空间,图片矩阵的大小会改变吗、C++环境 用opencv的语言读取一副RGB图像,怎么读呀· ··我是初学者。RGB转HSV的函数有吗、颜色里面的RGB和HSV用什么公式转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10207871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存