概要
这是这学期数字图像处理课的第一份作业好久没懂python手都快生了,调了好久才搞出来。
HSI颜色模型是一个满足计算机数字化颜色管理需要的高度抽象模拟的数学模型。HIS模型是从人的视觉系统出发,直接使用颜色三要素–色调(Hue)、饱和度(Saturation)和亮度(Intensity,有时也翻译作密度或灰度)来描述颜色。
RGB向HSI模型的转换是由一个基于笛卡尔直角坐标系的单位立方体向基于圆柱极坐标的双锥体的转换。基本要求是将RGB中的亮度因素分离,通常将色调和饱和度统称为色度,用来表示颜色的类别与深浅程度。在图中圆锥中间的横截面圆就是色度圆,而圆锥向上或向下延伸的便是亮度分量的表示。 (这里直接借鉴这篇文章:OpenCV+Python--RGB转HSI的实现)
从RGB空间到HSI空间的转换有多种方法,这里仅说明最为经典的几何推导法。RGB转化成HSI的公式为:
HSI转化成RGB的公式为:
Python代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/10/14 13:21
# @Author : DaiPuWei
# @Site : 理学院机房
# @File : __init__.py.py
# @Software: PyCharm Community Edition
import cv2
import numpy as np
def RGB2HSI(rgb_img):
"""
这是将RGB彩色图像转化为HSI图像的函数
:param rgm_img: RGB彩色图像