数字图像处理知识点梳理 您所在的位置:网站首页 图像处理和数字图像处理 数字图像处理知识点梳理

数字图像处理知识点梳理

2024-07-14 08:49| 来源: 网络整理| 查看: 265

文章目录 引言彩色基础1、彩色模型RGB彩色模型CMY和CMYK彩色模型HSI彩色模型 2、伪色彩图像处理灰度分层灰度到彩色的变换 全彩色图像处理基础3、彩色变换4、平滑5、基于彩色的图像分割总结

引言

彩色图像处理可分为两个主要领域:全彩色处理和伪彩色处理。 全彩色图像处理通常要求图像用全彩色传感器获取,如彩色电视摄像机或彩色扫描仪。 伪彩色处理是对于一种特定的单色灰度或灰度范围赋予一种颜色。

彩色基础

为标准化目的定义了三原色,他们的波长是:蓝色=435.8nm,绿色=546.1nm,红色=700nm。原色相加可以产生二次色,以正确的亮度把三原色或把与二次色相对应的原色混合,即可产生白光。 用来描述彩色光源的三个基本量是辐射、光强和亮度。如果光是无色的,它的属性仅仅是亮度或者数值,我们就提出了一个定义——灰度级,灰度级仅提供了一个亮度的标量度量,它的范围从黑色到灰色最终到白色。灰度Y=0.299R+0.587G+0.114B

光的原色与颜料或着色剂的原色之间的区别:后者被定义为减去或吸收光的一种原色,并反射或传输另外两种原色。

通常以区别不同颜色特性的是亮度、色调和饱和度。 亮度表达了无色的强度概念; 色调是光波混合中与主波长有关的属性,是观察者感知的主要颜色; 饱和度指相对的纯净度或一种颜色混合白光的数量。 色调与饱和度一起称为色度。

1、彩色模型 RGB彩色模型

每一幅红、绿、蓝图像都是一幅8比特图像,每个像素的比特数称为像素深度。可以说每个RGB彩色像素有24比特的深度,全彩色图像的颜色总数为 (28)3=16777216

CMY和CMYK彩色模型

输入CMY数据或在内部进行RGB到CMY的转换 [ C M Y ] = [ 1 1 1 ] − [ R G B ] \begin{bmatrix} C \\ M \\ Y\\ \end{bmatrix}=\begin{bmatrix} 1 \\1 \\ 1\\ \end{bmatrix}-\begin{bmatrix} R \\ G \\ B\\ \end{bmatrix} ⎣⎡​CMY​⎦⎤​=⎣⎡​111​⎦⎤​−⎣⎡​RGB​⎦⎤​ 这种彩色模型主要用于产生硬拷贝输出,因此CMY到RGB的反向操作通常没有实际意义。 为了生成真正的黑色,加入了第四种颜色——黑色,于是提出了CMYK彩色模型。

HSI彩色模型

HSI模型包括色调、饱和度、强度,它可在彩色图像中从携带的彩色信息(色调和饱和度)中消去强度分量的影响,是开发基于彩色描述的图像处理算法的理想工具。 在这里插入图片描述 一种颜色的饱和度(纯度)以强度轴的距离为函数而增大。事实上,强度轴上点的饱和度为零,事实证明沿着这条轴线的所有点都是灰度。

RGB到HSI的彩色转换(非线性变换) H = { θ , B≤G 360 − θ , B>G H=\begin{cases} \theta, & \text{B≤G} \\ 360-\theta, & \text{B>G} \\ \end{cases} H={θ,360−θ,​B≤GB>G​ ( 其 中 θ = a r c c o s { 1 2 [ ( R − G ) + ( R − B ) ] [ ( R − G ) 2 + ( R − B ) ( G − B ) 1 / 2 ] } ) ( 其中\theta=arccos\{\frac{\frac{1}{2}[(R-G)+(R-B)]}{[(R-G)^2+(R-B)(G-B)^{1/2}]}\}) (其中θ=arccos{[(R−G)2+(R−B)(G−B)1/2]21​[(R−G)+(R−B)]​}) S = 1 − 3 ( R + B + G ) [ m i n ( R , B , G ) ] S=1-\frac{3}{(R+B+G)}[min(R,B,G)] S=1−(R+B+G)3​[min(R,B,G)] I = 1 3 ( R + G + B ) I=\frac{1}{3}(R+G+B) I=31​(R+G+B) 在这里插入图片描述 RGB向HSI模型的转换是由一个基于笛卡尔直角坐标系的单位立方体向基于圆柱极坐标的双锥体的转换。基本要求是将RGB中的亮度因素分离,通常用色度来表示颜色的类别与深浅程度。 import cv2 import numpy as np def rgbtohsi(rgb_lwpImg): rows = int(rgb_lwpImg.shape[0]) cols = int(rgb_lwpImg.shape[1]) b, g, r = cv2.split(rgb_lwpImg) # 归一化到[0,1] b = b / 255.0 g = g / 255.0 r = r / 255.0 hsi_lwpImg = rgb_lwpImg.copy() H, S, I = cv2.split(hsi_lwpImg) for i in range(rows): for j in range(cols): num = 0.5 * ((r[i, j]-g[i, j])+(r[i, j]-b[i, j])) den = np.sqrt((r[i, j]-g[i, j])**2+(r[i, j]-b[i, j])*(g[i, j]-b[i, j])) theta = float(np.arccos(num/den)) if den == 0: H = 0 elif b[i, j]


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有