当前位置: 首页 > news >正文

彩色图像--色彩空间 HSI(HSL)、HSV(HSB)

得知DIP文章66日
转载请注明文章出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管。欢迎共同开发:https://github.com/Tony-Tan/DIPpro

开篇废话

色彩空间介绍最后两种与人类感知相对较接近的两种空间。彩色图像处理后面的内容大部分用在图像的基础处理,而假设想学习图像分析。应该開始学习一些模式识别和机器学习的算法,打算近期開始学习一些,而且开一个新的博客主题,欢迎讨论。。。
今天介绍下两种相对较接近色彩定义的,人的视觉仅仅能分辨颜色的三种变化:亮度、色调、饱和度。HSI和HSV即表示其相对的变量,当中H(Hue)表示色调。S(Saturation)表示饱和度,I/V(Intensity/Value)表示亮度/明度。HSI和HSV作为相对颜色,但在彩色图像处理中使用广泛。以下来逐一介绍这两种空间,和其与RGB空间的转换。

HSI色彩空间

色调H(Hue): 与光波的波长有关。它表示人的感官对不同颜色的感受。如红色、绿色、蓝色等。它也可表示一定范围的颜色,如暖色、冷色等。
饱和度S(Saturation): 表示颜色的纯度,纯光谱色是全然饱和的,增加白光会稀释饱和度。饱和度越大,颜色看起来就会越鲜艳。反之亦然。
亮度I(Intensity): 相应成像亮度和图像灰度,是颜色的明亮程度。

这里写图片描写叙述

RGB和HSI的转换几种转换公式:

这里写图片描写叙述
这里写图片描写叙述
这里写图片描写叙述


HSV色彩空间

HSV模型通经常使用于计算机图形应用中。在用户必须选择一个颜色应用于特定图形元素各种应用环境中,经常使用HSV 色轮。在当中,色相表示为圆环;能够使用一个独立的三角形来表示饱和度和明度。典型的,这个三角形的垂直轴指示饱和度,而水平轴表示明度。在这样的方式下,选择颜色能够首先在圆环中选择色相。在从三角形中选择想要的饱和度和明度。


HSV模型的还有一种可视方法是圆锥体。在这样的表示中。色相被表示为绕圆锥中心轴的角度。饱和度被表示为从圆锥的横截面的圆心到这个点的距离,明度被表示为从圆锥的横截面的圆心到顶点的距离。

某些表示使用了六棱锥体。

这样的方法更适合在一个单一物体中展示这个HSV色彩空间;可是因为它的三维本质,它不适合在二维计算机界面中选择颜色。
HSV色彩空间还能够表示为相似于上述圆锥体的圆柱体,色相沿着圆柱体的外圆周变化。饱和度沿着从横截面的圆心的距离变化,明度沿着横截面究竟面和顶面的距离而变化。这样的表示可能被觉得是HSV色彩空间的更精确的数学模型。可是在实际中可区分出的饱和度和色相的级别数目随着明度接近黑色而降低。

此外计算机典型的用有限精度范围来存储RGB值。这约束了精度。再加上人类颜色感知的限制。使圆锥体表示在多数情况下更有用。


转换公式:
RGB->HSV

这里写图片描写叙述
这里写图片描写叙述

HSV->RGB

这里写图片描写叙述

这里写图片描写叙述
这里写图片描写叙述

总结

今天主要介绍HSx模型,这类色彩空间与色彩定义相应。在后面的彩色图像处理中将大量用到。


待续。。

版权声明:本文博主原创文章。博客,未经同意不得转载。

相关文章:

  • java中Map,List与Set的区别
  • 利用print2flashsetup.exe文档转swf
  • poj 3254 Corn Fields 国家压缩dp
  • [实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩
  • [转]Java输入输出流的使用详细介绍
  • 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数005·graphics-obj,基本绘图单元,包括线段、矩形、椭圆、圆形...
  • iOS app无launch screen.xib 对各个版本进行适配
  • iOS tintColor解析
  • 19/10/2015 晴 十点
  • GitHub Config文件中[user] [remote origin]的配置
  • Java Web 登录采用非对称加密(RSA算法)
  • DAG 的最短路径算法
  • 推荐一个c++小巧开源且跨平台的图像解码库
  • WDS+MDT部署Windows7操作系统2—;导入启动映像和安装映像
  • 机器学习之一:初认识
  • 【知识碎片】第三方登录弹窗效果
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android 架构优化~MVP 架构改造
  • Android组件 - 收藏集 - 掘金
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • E-HPC支持多队列管理和自动伸缩
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • k个最大的数及变种小结
  • MySQL主从复制读写分离及奇怪的问题
  • Puppeteer:浏览器控制器
  • V4L2视频输入框架概述
  • Vue 动态创建 component
  • Webpack 4x 之路 ( 四 )
  • 从setTimeout-setInterval看JS线程
  • 从tcpdump抓包看TCP/IP协议
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于extract.autodesk.io的一些说明
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 小程序测试方案初探
  • 延迟脚本的方式
  • 一些关于Rust在2019年的思考
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • #《AI中文版》V3 第 1 章 概述
  • #include到底该写在哪
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (AngularJS)Angular 控制器之间通信初探
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (区间dp) (经典例题) 石子合并
  • (原)Matlab的svmtrain和svmclassify
  • (转) 深度模型优化性能 调参
  • (转)Sql Server 保留几位小数的两种做法
  • .dwp和.webpart的区别
  • .NET 5.0正式发布,有什么功能特性(翻译)