好的,这确实有效(修复了一些溢出错误):

import numpy, Image

i = Image.open(fp).convert('RGB')

a = numpy.asarray(i, int)

R, G, B = a.T

m = numpy.min(a,2).T

M = numpy.max(a,2).T

C = M-m #chroma

Cmsk = C!=0

# Hue

H = numpy.zeros(R.shape, int)

mask = (M==R)&Cmsk

H[mask] = numpy.mod(60*(G-B)/C, 360)[mask]

mask = (M==G)&Cmsk

H[mask] = (60*(B-R)/C + 120)[mask]

mask = (M==B)&Cmsk

H[mask] = (60*(R-G)/C + 240)[mask]

H *= 255

H /= 360 # if you prefer, leave as 0-360, but don't convert to uint8

# Value

V = M

# Saturation

S = numpy.zeros(R.shape, int)

S[Cmsk] = ((255*C)/V)[Cmsk]

# H, S, and V are now defined as integers 0-255

它基于维基百科对HSV的定义.随着时间的推移,我会仔细研究它.肯定有加速和错误.如果您发现任何问题,请告诉我.干杯.

结果:

从这个色轮开始:

我得到这些结果:

色调:

值:

饱和:

python rgb转hsv_使用Python / PIL检测HSV颜色空间(来自RGB)的阈...相关推荐

  1. HSV颜色空间转RGB(C语言代码),ESP32使用RMT驱动WS2812B,七彩流光灯光效果

    HSV(Hue, Saturation, Value) 模型中,颜色的参数分别是:色调(H),饱和度(S),明度(V).它更类似于人类感觉颜色的方式,颜色?深浅?明暗?通过这种方式可以很直观的改变渲染 ...

  2. HSV颜色空间和RGB颜色空间相互转换C语言实现

    HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model).这个模型中颜色的参数 ...

  3. 【主色提取】HSV 颜色空间与 RGB 颜色空间互相转化的公式和代码

    系列文章目录 第二章 主色提取之颜色空间转化 目录 系列文章目录 文章目录 前言 一.HSV 和 RGB 颜色空间 二.颜色转化 1. RGB to HSV 2. HSV to RGB 三. 完整代码 ...

  4. 颜色空间:RGB、CIE XYZ、Lab和HSV颜色空间

    颜色空间也称彩色模型和彩色空间,它的用途是在某些标准下用通常可接受的方式对颜色加以说明,本质上,颜色空间是坐标系统和子空间的阐述,其中每种颜色都由单个点表示.目前采用的大多数颜色空间都是面向硬件或面向 ...

  5. 【QT数字图像处理】(四)hsv颜色空间转rgb颜色空间

    一.颜色模型 1.1 rgb颜色模型 1.2 hsv颜色模型 hsv颜色模型具有以下优点: 1.符合人眼对颜色的感觉: 2.hsv颜色模型中hsv三个坐标是相互独立的:当采用rgb颜色模型时,改变某一 ...

  6. HSV颜色空间及RGB转HSV公式

    记录下自己HSV的理解 请了解了RGB形式的色彩表达方式再往下阅读 HSV也是一种颜色的表示方式 此处省去百度百科的介绍 HSV分别代表Hue 色调, Saturation 饱和度, Value 明度 ...

  7. 数字图像处理与Python实现-颜色空间转换-RGB颜色空间与HSV颜色空间转换

    RGB颜色空间与HSV颜色空间转换 RGB颜色空间与HSV颜色空间转换 1. 前言 2. RGB颜色空间与HSV颜色空间转换描述 3. 代码实现 1. 前言 HSV(Hue, Saturation, ...

  8. Python+Opencv简易车牌识别(二):形态学运算,HSV颜色空间筛选与图像分割

    注:这是依然一个简单的车牌识别demo 1.前言 在上一篇Python+Opencv简易车牌识别(一):基于HSV颜色空间的图像分割中,我们讲了如何仅基于颜色来进行简单粗暴的车牌分割.今天我们考虑对图 ...

  9. RGB颜色空间转换HSV颜色空间 RGB2HSV算法

    这是最常用的RGB到HSV例程,还有一个额外的小优化(向除数添加1e-20f以避免需要将除法除以零): 讲解:--------------action---------------- 直接看这段代码很 ...

最新文章

  1. 多级反馈队列调度算法描述
  2. js操作节点对象-getElementById
  3. javascript有用小功能总结(未完待续)
  4. 容大打印机ip修改工具_M1芯片版Mac无法连接打印机怎么办?
  5. bzoj1996 [Hnoi2010]chorus 合唱队 区间dp
  6. 【kafka】Kafka消息压缩与解压与相关实验
  7. 百度系无人车创业公司领骏科技完成新一轮融资
  8. 史上最简单的matlab的CRC库函数使用(无繁杂参数)
  9. android业余手机开发,赚钱心得
  10. [CISCN2019 华东南赛区]Web11
  11. 【Android 屏幕适配】屏幕适配基础概念 ② ( 像素 px 与 密度无关像素 dip | 像素 px 与 密度无关像素 dip 在不同屏幕像素密度 dpi 下的换算关系 )
  12. 充电站网络安全风险危及电动汽车普及
  13. css背景图铺满整个屏幕
  14. 2021-04-30双螺杆挤出机与挤塑机之间有什么区别?
  15. Java中Map用法
  16. 全局变量和静态变量以及内存堆栈的关系
  17. ip白名单实现java
  18. ofd格式文件转换成pdf格式的方法
  19. 【注册表大法】教你如何给 Win11 开启传统右键菜单
  20. java 集成grizzly_java – Grizzly Jersey仅在Localhost上收听

热门文章

  1. C++ji将txt文件数据zzhua转为数组;
  2. mysql front 图表,MySQL图表数据统计常用方法
  3. 腾讯内部转岗_即将退出历史舞台,腾讯微博将于9月28日停止服务和运营
  4. 《地理信息系统导论》第6章 几何变换 复习题
  5. 毕业设计 - 基于java web的百货中心供应链管理系统【源码+论文】
  6. 计算机如何连接新的无线网络,换了个新wifi怎么设置?
  7. 课堂随笔1 - MOOC网站日志分析 1
  8. T2080 U-BOOT与OS内核移植 准备篇(一)——开发调试环境简介
  9. 应付账款账龄分析模板_(EXCEL 应付账款账龄分析模板的公式怎么设置)excle账龄划分公式...
  10. BDD100K自动驾驶数据集格式转YOLO格式