彩色图像处理彩色模型

news2024/11/17 6:58:43

彩色图像处理

彩色基础

  • 人类感知一个物体的颜色是由物体反射光的性质决定的
  • 描述彩色光源的基本量:
    • 辐射:是从光源流出能量的总量,用瓦特来度量
    • 光强:给出观察者从光源感知的能量总和的度量,用流明来度量
    • 亮度:是主观描绘子,不可度量,体现了无色的强度的概念
  • 三原色:蓝色 = 435.8nm,绿色 = 546.1nm,红色 = 700nm
    • 错误概念:三原色以各种强度比混合在一起时,就可以产生所有的可见彩
    • 原色相加可以产生二次色
    • 区别光的原色和颜料的原色:
      • 颜料的三原色为 MCY ,满足减色原理,混合后为黑色
      • 光的三原色为 RGB ,满足加色原理,混合后为白色
      Image
  • 区别不同颜色特性的特征:
    • 亮度:Intensity,表达无色的强度概念
    • 色调:Hue,是光波混合中与主波长有关的属性,表示观察者感知的主要颜色
    • 饱和度:Saturation,指相对的纯净度,或一种颜色混合白光的数量(饱和度与白光数量成反比)
    • 色调和饱和度一起成为色度,形成任何特殊彩色的红、绿、蓝的数量称为三色值
    • CIE 色度图:以红和绿的函数表示颜色的组成
      • 等能量点表示白光的 CIE 标准
      • 色度图边界上的点为全饱和颜色
      • 色度图中连接任意两点的直线段定义了所有不同颜色的变化,这些颜色可以由这两种颜色相加组合得到
Image

彩色模型

目的:在某些标准下用通常可以接受的方式方便地对彩色加以说明

  • RGB 彩色模型

    Image
    • 面向硬件,常用于彩色摄像机
    • 在 RGB 彩色模型中表示的图像由3个分量图像组成,每种原色一幅分量图像
    • 像素深度:用于表示每个像素的比特数
    • 稳定色:与观察者无关,共216种,每种都由3个十六进制数构成,如 FFFFFF 为白色,000000 为黑色
Image
  • CMY 和 CMYK 彩色模型

    • 青色、深红色、黄色是光的二次色,是颜料的原色
    • 大多数在纸上沉积彩色颜料的设备,如彩色打印机和复印机,要求输入 CMY 数据或在内部进行 RGB 到 CMY 的转换
    • RGB -> CMY: [ C M Y ] = [ 1 1 1 ] − [ R G B ] \left[\begin{array}{rcl}C\\M\\Y\end{array} \right]=\left[\begin{array}{rcl}1\\1\\1\end{array} \right]-\left[\begin{array}{rcl}R\\G\\B\end{array} \right] CMY = 111 RGB
    • CMYK 模型加上了黑色
  • HSI 彩色模型

    • 更符合人描述和解释颜色的方式
    • 形成 HSI 空间所要求的色调、饱和度和强度值可以通过 RGB 彩色立方体得到,也就是说可以将任何 RGB 点转换为对应 HSI 彩色模型中的点
    • 与红轴的夹角给出了色调,向量的长度是饱和度,强度由垂直强度轴上的平面的位置决定
    Image
    • RGB -> HSI:
      • H = { θ , B ≤ G 360 − G , B ≥ G H= \left\{\begin{array}{rcl}\theta, & & B\leq G\\360-G,& & B\geq G\end{array}\right. H={θ,360G,BGBG
        其中, θ = 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{[(RG)2+(RB)(GB)]1/221[(RG)+(RB)]}
      • S = 1 − 3 ( R + G + B ) [ m i n R , G , B ) ] S=1-\frac{3}{(R+G+B)}[minR,G,B)] S=1(R+G+B)3[minR,G,B)]
      • I = 1 3 ( R + G + B ) I=\frac{1}{3}(R+G+B) I=31(R+G+B)
    • HSI -> RGB:
      • 若在 RG 扇区内( 0 ∘ ≤ H < 12 0 ∘ 0^\circ\leq H<120^\circ 0H<120
        B = I ( 1 − S ) R = I [ 1 + S c o s H c o s ( 6 0 ∘ − H ) ] G = 3 I − ( R + B ) \begin{array}{l}B=I(1-S)\\R=I[1+\frac{ScosH}{cos(60^\circ-H)}]\\G=3I-(R+B)\end{array} B=I(1S)R=I[1+cos(60H)ScosH]G=3I(R+B)
      • 若在 GB 扇区内( 12 0 ∘ ≤ H < 24 0 ∘ 120^\circ\leq H<240^\circ 120H<240
        H = H − 12 0 ∘ R = I ( 1 − S ) G = I [ 1 + S c o s H c o s ( 6 0 ∘ − H ) ] B = 3 I − ( R + B ) \begin{array}{l}H=H-120^\circ\\R=I(1-S)\\G=I[1+\frac{ScosH}{cos(60^\circ-H)}]\\B=3I-(R+B)\end{array} H=H120R=I(1S)G=I[1+cos(60H)ScosH]B=3I(R+B)
      • 若在 RB 扇区内( 24 0 ∘ ≤ H < 36 0 ∘ 240^\circ\leq H<360^\circ 240H<360
        H = H − 24 0 ∘ G = I ( 1 − S ) B = I [ 1 + S c o s H c o s ( 6 0 ∘ − H ) ] R = 3 I − ( R + B ) \begin{array}{l}H=H-240^\circ\\G=I(1-S)\\B=I[1+\frac{ScosH}{cos(60^\circ-H)}]\\R=3I-(R+B)\end{array} H=H240G=I(1S)B=I[1+cos(60H)ScosH]R=3I(R+B)
  • HSV 模型

    • 一般用六棱锥表示
    • H 同 HSI 模型
    • RGB -> HSV:
      S = m a x ( R , G , B ) − m i n ( R , G , B ) m a x ( R + G + B ) V = m a x ( R , G , B ) 255 \begin{array}{l}S=\frac{max(R,G,B)-min(R,G,B)}{max(R+G+B)}\\V=\frac{max(R,G,B)}{255}\end{array} S=max(R+G+B)max(R,G,B)min(R,G,B)V=255max(R,G,B)

伪彩色图像处理

伪彩色图像处理是指基于一种指定的规则对灰度值赋以颜色的处理

  • 灰度分层

    Image
    • 用一些平行于图像的坐标平面的平面来切割图像,对被切割的不同部分赋以不同的颜色
  • 灰度到彩色的变换

    Image
    • 对任何输入的像素灰度执行三个独立的变换,将三个变换结果分别送入彩色监视器的红、绿、蓝通道,产生一副合成图像
    • 多光谱图像处理
Image

全彩色图像处理

  • 第一种方法是将彩色图像看作三幅分量图像的组合体,县分别单独处理,再将结果合成
  • 第二种方法是将彩色图像中的每个像素看作一个向量,用对向量的表达方法进行处理* 两种方法等价的条件
    • 处理必须对向量和标量都可用
    • 对向量的每个分量的操作对其他分量必须是独立的

彩色变换

  • 变换公式
    • g ( x , y ) = T ( f ( x , y ) ] g(x,y)=T(f(x,y)] g(x,y)=T(f(x,y)]
    • 理论上,任何变换都可在任何彩色模型中执行。但实际上,某些操作对特定的模型比较适用(简洁)
  • 补色
    • 在彩色环上,与色调直接相对的另一端被称为补色
    • 补色对于增强嵌在彩色图像暗区的细节很有用
Image
  • 彩色分层
    • 突出图像中某个特定彩色区域,对从周围分离出目标物体很有用
    • 彩色变换函数比灰度变换函数复杂得多,故采用把某些感兴趣区域之外的彩色映射为不突出的无确定性质的颜色(制定一个中心点和一个范围)
      • s i = { 0.5 , [ ∣ r j − a j ∣ > W 2 ] 1 ≤ j ≤ n r i , o t h e r s i = 1 , 2 , . . . , n s_i=\left\{\begin{array}{rl}0.5 &,[|r_j-a_j|>\frac{W}{2}]_{1\leq j\leq n}\\r_i&,others\end{array}\right. i=1, 2, ...,n si={0.5ri,[rjaj>2W]1jn,othersi=1,2,...,n
      • s i = { 0.5 , ∑ j = 1 n ( r j − a j ) 2 > R 0 2 r i , o t h e r s i = 1 , 2 , . . . , n s_i=\left\{\begin{array}{rl}0.5 &,\sum^n_{j=1}(r_j-a_j)^2>R_0^2\\r_i&,others\end{array}\right. i=1, 2, ...,n si={0.5ri,j=1n(rjaj)2>R02,othersi=1,2,...,n
  • 色调和彩色矫正
    • 一幅图像的色调范围是指颜色强度的基本分布,高主调图像的多数信息集中在高强度处,低主调图像的颜色主要位于低亮度处
    • 色调变换
      • 概念:实验性地调整图像亮度和对比度,以便在合适的灰度范围内提供最多的细节
      • 彩色本身并不改变,在 RGB 和 CMY(k) 空间中,这意味着使用相同的变换函数映射所有的3个(或4个)彩色分量;在 HSI 彩色空间中,则改进了亮度分量
    • 彩色平衡
      • 在调整一幅图像的彩色分量时,要认识到每个操作都会影响到图像的全部彩色平衡
      • 基于彩色环可以预测一个彩色分量如何影响其他彩色分量
      • 任何颜色的比例都可以通过减小图像中相对色的数量来增大
  • 直方图处理
    • 单独对彩色图像的分量进行直方图均衡通常是不明智的,会产生不正确的彩色,而应当均匀地展开这种彩色灰度,保持色调不变
    • 而有时虽然没有改变图像的色调以及饱和度的值,但是会影响图像的整体颜色感观

平滑和锐化

  • 彩色图像平滑
    • 灰度图像平滑可以推广到彩色图像处理上
    • 邻域平滑可以在每个彩色平面的基础上分别执行,其结果与使用 RGB 彩色向量执行平均是相同的
    • 通过对 HSI 模型中的亮度分量执行平均得到不同的结果
  • 彩色图像锐化
    • 与灰度图像一样,同样采取拉普拉斯变换方法对图像进行锐化
    • 同样可对 RGB 模型分量或 HSI 模型分量进行锐化,得到不同的结果

基于彩色的图像分割

  • HSI 彩色空间的分割
    • 一般为了在色调图像中分离出感兴趣的孤立区域,将饱和度用做一幅模版图像
    Image
  • RGB 向量空间中的分割
    • 给定感兴趣的有代表性彩色的样点集,得到平均彩色用 a a a表示
    • 相似性度量,比较空间任一点 z z z a a a的距离
      • 欧式距离(轨迹是球体): D ( z , a ) = ∣ ∣ z − a ∣ ∣ D(z,a)=||z-a|| D(z,a)=∣∣za∣∣
      • 马氏距离(轨迹是椭球体): D ( z , a ) = [ ( z − a ) T C − 1 ( z − a ) ] 1 2 D(z,a)=[(z-a)^TC^{-1}(z-a)]^{\frac{1}{2}} D(z,a)=[(za)TC1(za)]21
      • 边界盒(避免开方运算): D ( z , a ) = z − a D(z,a)=z-a D(z,a)=za
Image
  • 彩色边缘检测
    • 单独处理 RGB 三个分量的梯度图像再合成可能会导致错误的结果
    • 对于标量函数,梯度是坐标点指向 f 的最大变化率的方向
    • u = ∂ R ∂ x r + ∂ G ∂ x g + ∂ B ∂ x b , v = ∂ R ∂ y r + ∂ G ∂ y g + ∂ B ∂ y b u=\frac{\partial R}{\partial x}r+\frac{\partial G}{\partial x}g+\frac{\partial B}{\partial x}b, v=\frac{\partial R}{\partial y}r+\frac{\partial G}{\partial y}g+\frac{\partial B}{\partial y}b u=xRr+xGg+xBb,v=yRr+yGg+yBb
    • g x x = u ⋅ u = u T u = ∣ ∂ R ∂ x ∣ 2 + ∣ ∂ G ∂ x ∣ 2 + ∣ ∂ B ∂ x ∣ 2 g y y = v ⋅ v = v T v = ∣ ∂ R ∂ y ∣ 2 + ∣ ∂ G ∂ y ∣ 2 + ∣ ∂ B ∂ y ∣ 2 g x y = u ⋅ v = u T v = ∂ R ∂ x ∂ R ∂ y + ∂ G ∂ x ∂ G ∂ y + ∂ B ∂ x ∂ B ∂ y \begin{array}{l}g_{xx}=u\cdot u=u^Tu=|\frac{\partial R}{\partial x}|^2+|\frac{\partial G}{\partial x}|^2+|\frac{\partial B}{\partial x}|^2\\g_{yy}=v\cdot v=v^Tv=|\frac{\partial R}{\partial y}|^2+|\frac{\partial G}{\partial y}|^2+|\frac{\partial B}{\partial y}|^2\\g_{xy}=u\cdot v=u^Tv=\frac{\partial R}{\partial x}\frac{\partial R}{\partial y}+\frac{\partial G}{\partial x}\frac{\partial G}{\partial y}+\frac{\partial B}{\partial x}\frac{\partial B}{\partial y}\end{array} gxx=uu=uTu=xR2+xG2+xB2gyy=vv=vTv=yR2+yG2+yB2gxy=uv=uTv=xRyR+xGyG+xByB
    • 可以证明 c ( x , y ) c(x, y) c(x,y) 方向上的最大变化率的值由以下角度给出
      θ ( x , y ) = 1 2 a r c t a n [ 2 g x y g x x − g y y ] \theta(x,y)=\frac{1}{2}arctan[\frac{2g_{xy}}{g_{xx}-g_{yy}}] θ(x,y)=21arctan[gxxgyy2gxy]
    • 且在该角度方向上的变化率的值由下式给出
      F θ ( x , y ) = { 1 2 [ ( g x x + g y y + ) + ( g x x − g y y ) c o s 2 θ ( x , y ) + 2 g x y s i n 2 θ ( x , y ) ] } 1 2 F_{\theta}(x,y)=\{\frac{1}{2}[(g_{xx}+g_{yy}+)+(g_{xx}-g_{yy})cos2\theta(x,y)+2g_{xy}sin2\theta(x,y)]\}^{\frac{1}{2}} Fθ(x,y)={21[(gxx+gyy+)+(gxxgyy)cos2θ(x,y)+2gxysin2θ(x,y)]}21

彩色图像中的噪声

  • 通常,彩色图像的噪声内容在每个彩色通道中具有相同的特性,但噪声对不同彩色通道所造成的影响不同;不同的噪声水平像是由每个彩色通道的相对照射强度的差异造成的
  • 将 RGB 三个通道均匀带噪图像转换为 HSI 模型后可以看出噪声图像的色调与饱和度分量明显降质了,这分别是由转换函数中求余弦与取最小值操作的非线性造成的;而强度分量比 3 个带噪声的 RGB 分量图像中的任何一个都要平滑一些,这是由亮度图像是RGB图像的平均这一事实造成的
Image
  • 在仅有一个 RGB 通道受噪声影响的情况下,到 HSI 的转换才将噪声扩散到所有 HSI 分量图像

彩色图像压缩

  • 压缩是减少或消除冗余和不相干数据的处理
  • 因为描述彩色所要求的比特数比描述灰度级所要求的比特数大 3 ~ 4 倍,所以数据压缩在存储和传输彩色图像中起着核心的作用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小龟带你写Java经典题(合并有序数组)

合并有序数组 1.题目2.图解分析3.代码演示 1.题目 2.图解分析 3.代码演示

汽车行业“墨守成规”?VR全景助力车企打开新局面

近年来&#xff0c;随着互联网时代的快速发展&#xff0c;各个行业都在不断挖掘创新点&#xff0c;汽车行业也是如此。以往汽车销售在线下门店的限制较多&#xff0c;由于营销方式、场地限制等原因&#xff0c;用户的体验过于单一&#xff0c;并且现场展示样车不多&#xff0c;…

控制算法::速度前馈

伺服三环设计---位置环前馈环路设计 - 百度文库 (baidu.com) 伺服电机-松下伺服前馈功能的使用示例_上海会通自动化科技发展有限公司 (shhuitong.net) 运动控制中速度前馈的作用_省身求是的博客-CSDN博客 速度前馈功能_技成培训网论坛 (jcpeixun.com)

lvm + raid(逻辑磁盘+阵列)创建删除恢复 for linux

本教程适用于linux lvm为逻辑磁盘&#xff0c;raid为阵列&#xff0c;两种技术可以单独使用也可以搭配使用 2023.9.3更新 前三节是操作命令和基础知识&#xff0c;后面是实操。 一、存储硬件查看相关命令 硬盘分区相关操作在后面用的到&#xff0c;可以先略过&#xff0c;有需…

微信小程序实现连续签到七天

断签之后会从第一天重新开始 <template><view class"content" style"height: 100vh;background: white;"><view class"back"><view style"position: absolute;bottom: 200rpx;left: 40rpx;width: 90%;"><i…

星际争霸之小霸王之小蜜蜂(十一)--杀杀杀

系列文章目录 星际争霸之小霸王之小蜜蜂&#xff08;十&#xff09;--鼠道 星际争霸之小霸王之小蜜蜂&#xff08;九&#xff09;--狂鼠之灾 星际争霸之小霸王之小蜜蜂&#xff08;八&#xff09;--蓝皮鼠和大脸猫 星际争霸之小霸王之小蜜蜂&#xff08;七&#xff09;--消失…

箭头函数(arrow function)与普通函数之间的区别是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 语法简洁性&#xff1a;⭐ this 的绑定&#xff1a;⭐ 不能用作构造函数&#xff1a;⭐ 没有 arguments 对象&#xff1a;⭐ 不适用于方法&#xff1a;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上…

svn log 高级命令解释

参考目录 基本命令完整命令效果鸣谢 实现目标&#xff1a;svn查询指定版本或时间范围指定人最近的变更文件路径到输出文件 基本命令 svn log --search youname -r {param1}:{param2} -v > custom.out完整命令 svn log --search yuanyubo -r {2020-07-01}:{2020-09-01} -v …

leetcode 43.字符串相乘

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;字符串相乘 思路&#xff1a; 代码&#xff1a; class Solution { public:string multiply(string num1, string num2) {if (num1 "0" || num2 "0") {return "0";}/*0 1 2 下标1 2…

Python基于Mirai开发的QQ机器人保姆式教程(亲测可用)

在本教程中&#xff0c;我们将使用Python和Mirai来开发一个QQ机器人&#xff0c;本文提供了三个教学视频&#xff0c;包教包会&#xff0c;本文也很贴心贴了代码和相关文件。话不多说&#xff0c;直接开始教学。 目录 一、安装配置MIrai 图片验证码报错&#xff1a; 二、机器…

定时任务实现方案总结

一、概述 定时任务的作用是在设定的时间和日期后自动执行任务&#xff0c;执行任务的周期既能是单次也能是周期性。 本文重点说明Timer、ScheduledThreadPoolExecutor、Spring Task、Quartz等几种定时任务技术方案。 二、Timer JDK自带的Timer是最古老的定时任务实现方式了。…

基于SSM的房屋租售网站

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

2023如何做谷歌收录?

答案是&#xff1a;2023谷歌收录可以通过GPC爬虫池技术完成。 搜索引擎优化&#xff08;SEO&#xff09;对于任何网站来说都是至关重要的。 特别是谷歌作为全球最大的搜索引擎&#xff0c;网站是否能被其快速收录直接关系到网站的流量和影响力。 以下是关于2023年如何做谷歌…

nginx请求接口转发-浏览器访问80端口,要把请求转发至8882

1、需求 浏览器访问80端口&#xff0c;要把请求转发至8882 2、实现 修改ngixn配置文件 ngin配置文件在nginx安装目录/nginx/conf文件夹下 cd /usr/local/nginx/confvi ngin.conf修改server配置 server {listen 80;server_name localhost;location / {proxy_pass …

【MySQL】JDBC 编程详解

JDBC 编程详解 一. 概念二. JDBC 工作原理三. JDBC 使用1. 创建项目2. 引入依赖3. 编写代码(1). 创建数据源(2). 建立数据库连接(3). 创建 SQL(4). 执行 SQL(5). 遍历结果集(6). 释放连接 4. 完整的代码5. 如何不把 sql 写死 &#xff1f;6. 获取连接失败的情况 四. JDBC常用接…

关于假冒我司关联公司进行欺诈活动的严正声明!

近日&#xff0c;有客户致电我司&#xff0c;反馈其在力软的“关联公司”进行了产品咨询时&#xff0c;对方声称可以以更低的价格出售力软次级品牌低代码产品。 对此&#xff0c;我司经过调查&#xff0c;确认所谓“关联公司”系冒充&#xff0c;我司对此类冒用我司名义进行的…

山洪、地质灾害监测利器-泥石流、山体滑坡AI视觉仪

1、设备介绍 AI视觉仪通过AI算法智能化摄像机&#xff0c;能够及时、全面的把握边坡潜在安全风险&#xff0c;有效防范自然灾害。支持全天候运行&#xff0c;在恶劣环境及气候条件下仍能正常进行监测数据采集。自动识别监控区域内是否有泥石流、山体滑坡等&#xff0c;一旦检测…

java中使用 Integer 和 int 的 含义、使用方法 及之间的区别

学习目标&#xff1a; 学习目标如下&#xff1a; 明确 Integer 和 int 的 含义、使用方法 及之间的区别 学习内容&#xff1a; 一、区别&#xff1a; 1.Integer是int的包装类&#xff0c;int则是java的一种基本的数据类型&#xff1b; 2.Integer变量必须实例化之后才能使用&a…

python爬取网站图片案例

下载指定页的图片Get方式 # _*_ coding : utf-8 _*_ # Time : 2023/9/6 9:50 # Author : xiaoyu # File : 爬取表情包 # Project : basicimport urllib.request from lxml import etreedef get_request(page):if (page 1):url "https://sc.chinaz.com/tupian/keaitupia…

【C++ Core Guidelines解析】C++学习之路的一盏明灯

前言&#xff1a;C语言的功能非常丰富&#xff0c;表达能力非常强。因为一种成功的通用编程语言拥有的功能必须比任何开发人员所需要的更多&#xff0c;任何一种有生命力且不断发展的语言都会不断积累用于表达程序员思想的替代用法。这会导致选择过载。那么&#xff0c;开发人员…