首先计算机中图像是用矩阵存储的,所以在分析图像时,应当用矩阵的眼光来看待

  • 1.RGB模式(百万种颜色)
  • 2.CMYK模式(四种印刷色)
  • 3.索引模式(256种颜色)
  • 4.灰度模式(256级灰度)
  • 5.位图模式(二值图,2种颜色)

目录

  • 彩色图像
    • *RGB*
    • *CMYK*
    • *HSL色彩模式(与YUV相似)*
    • *Lab模式*
    • *索引图*
  • 灰度图
  • 二值图

彩色图像

上述中RGB、CMYK和索引模式都是来表示彩色图的。

RGB

RGB模式:基于发光体(电子产品)的色彩模式,常见的24bit色彩大概是1678万种,也就是常见的1600万真彩色。
彩色图像很常见,而最常见的表示方法是RGB格式:每个像素点由R、G、B三个数值共同表示,从而呈现出彩色。其中R、G、B是由不同的灰度级来描述。3字节(每个分量用1Byte储存,共24位)可表示一个像素,灰度代表该颜色的深浅,越大越深。

CMYK

基于印刷的色彩模式:cyan(青色),magenta(洋红),yellow(黄色),black(黑色)
CMYK与RGB的区别在于RGB想要某种颜色,RGB分量任意混合即可;但是在印刷业多次叠加刷墨,对印刷纸张非常不好,并且叠加的颜色不好控制,CMYK是一种减色来实现色彩搭配的,总之就是在印刷业应用非常广泛。

HSL色彩模式(与YUV相似)

即色相Hue、饱和度Saturation、亮度Lightness,其实发现RGB也是三个量控制一个像素点。实际上HSL相比RGB更符合人眼对颜色的识别,看下图就懂了:

  • H:色相,表示一种颜色
  • S:饱和度,表示该颜色的深浅,比如:浅蓝-淡蓝-蓝色-深蓝
  • L:亮度,从图中可以看出,是从纯黑>纯白

人眼对色相、饱和度和亮度是敏感的,我们甚至可以通过手动设置三个分量来搜寻想要的颜色区域,比如肤色检测:很容易得到色相:橙黄色;饱和度:适中;亮度:适中。这些都可以通过参数来设置,但是如果是RGB模式,虽然也是可行的,但是不能直观想象出,不如HSL此类颜色模式来得直观感性。

Lab模式

  • L*代表亮度
  • a*代表从绿色到红色的分量
  • b*代表从蓝色到黄色的分量

基于人对颜色的感觉来设计的,感知均匀:Lab分量变化幅度和人眼感受的颜色变化幅度一样。该模式也容易调整:想要调整亮度,只需要调节亮度分量L,调节色彩就分别调价ab分量

索引图

索引图像包含一个数据矩阵data和一个调色板矩阵map,数据矩阵可以使uint8,uint16或双精度类型,而调色板矩阵则总是一个m*3的双精度矩阵,当图像转换成索引模式时,系统自动归纳包含大多数的256种颜色表。主要用于网络发布,例如双方标准化map颜色索引图,只需要传输uint8的数据矩阵,接收方显示时解析即可。

灰度图

灰度图与彩色图不同,彩色图中一个像素通常用几个值同时表示,灰度图一个像素只有一个值:即亮度(也叫灰阶)。最常见的是256级灰阶,一个像素用1Byte表示,即0~255,当然像素值=0,表示这是个纯黑点,像素值=255,这是一个纯白点。

当然也有其他要求高精度的灰阶图,比如医学影像,会用更多的Byte来表示一个像素值。

二值图

相比较于灰度图有过度,二值图没有过渡,只有两种0(黑)、1(白)

如果要从灰度图转换到二值图,最简单的就是将0~255直接斩断,小于某值的置0,大于某值的置1,假设某置设为128,则:

彩色图、灰度图和二值图相关推荐

  1. c语言实现灰度图转换为二值图

    转载自:https://www.cnblogs.com/wd1001/p/4571916.html c语言实现灰度图转换为二值图 将上篇得到的灰度图转换为二值图,读取像素数据,低于某一值置0,否则设置 ...

  2. opencv:把三通道图转换成灰度图、二值图

    #include <opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<openc ...

  3. 利用Floyd-Steinberg方法(dithering),将灰度图转换为二值图

    灰度图有256级灰度,而二值图只有黑白两色.颜色数目大大降低,直观感觉转换效果不会好.其实人眼类似于一个低通滤波器,你看到的并不是一个一个像素点,而是接受的颜色信息是一个区域内的颜色信息的综合效果. ...

  4. 图像的灰度化以及二值图函数

    灰度化函数主要用rgb2gray()函数,,二值化函数主要是im2bw(I,alpha)函数:. 程序如下: I=imread('C:/lena.jpg'); % I=rgb2gray(I);   % ...

  5. MATLAB从原图,灰度图,二值图,反白图,边缘检测

    MATLAB数字图像处理,使用MATLAB可以将一张图变为"线稿"(显然效果不太行,可以再使用PS),如图: 一.读取一张图片的文件.方法详见:读取,剪裁一张图像. 比如我们打开一 ...

  6. RGB 转换为灰度图、二值化图

    from PIL import Image I = Image.open('lena.png') I.show() L = I.convert('L') #转化为灰度图 L = I.convert(' ...

  7. C语言实现将彩色BMP位图转化为二值图

    2019独角兽企业重金招聘Python工程师标准>>> CTF做了图片的隐写题,还没有形成系统的认识,先来总结一下BMP图的组成,并通过将彩色图转为二值图的例子加深下理解. 只写了位 ...

  8. bmp图片灰度化和二值化

    C语言去除bmp图片的背景 一.前言 二.灰度化 头文件 C文件 三.二值化 一.前言 图像处理中,大部分的处理方法都需要事先把彩色图转换成灰度图才能进行相关的计算.识别. 彩色图转换灰度图的原理如下 ...

  9. 利用OpenCV和C++实现由RGB图像转化为灰度图,再将灰度图转化为二值图的程序

    #include<opencv2\opencv.hpp> #include<opencv2/imgproc/imgproc.hpp> #include<opencv2\i ...

最新文章

  1. BZOJ 3456: 城市规划 [多项式求逆元 DP]
  2. 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)
  3. Bzoj 3680 吊打xxx【[模拟退火】
  4. 机智云代码移植_一步一步移植麒麟座例程到机智云GoKit V2.1
  5. python正则表达式匹配模式屠夫之桥_Python 编程快速上手 第 7章 模式匹配与正则表达式...
  6. 屏幕录像专家6.0_迅捷屏幕录像工具和屏幕录像专家哪个更好用?
  7. java常用类介绍及源码阅读(LinkedList)
  8. python取出字典重复值_在Python中的字典中查找具有重复值的键
  9. 以前的我“我是废物...”,现在的我“我是废物o(* ̄︶ ̄*)o” 2020.11.27日记
  10. 启明云端分享|IDO-SOM3828模块,你值得拥有。
  11. 【Redis-6.0.8】Redis中的RAX
  12. 如何使用Python api 函数写股票策略
  13. 运维工程师一天的日常都在做什么?
  14. 微信支付异常(“应答的微信支付签名验证失败“)记录
  15. 计算机三级上机题库百度云,全国计算机三级数据库等级考试全套(笔试背诵资料+笔试试题+详细答案+最新数据库技术上机试题题库).doc...
  16. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第八章:高级控件
  17. Android Google AdMob 广告接入配置示例
  18. 李俊“从良”碰壁,黑客的路有多长
  19. 智联招聘python岗位_智联招聘的python岗位数据结巴分词(一)
  20. elementUI table隐藏行

热门文章

  1. liunx系统下搭建domian
  2. PKUSC 2018 旅游记
  3. 商业需求响应管理系统行业调研报告 - 市场现状分析与发展前景预测
  4. Linux基础、vim、find命令等
  5. 015:苹果和虫子2
  6. 网络布线的概念和IP的计算
  7. 华为RH2288H V3服务器 从拆箱开始安装系统
  8. 计算机内存分配、管理
  9. Tesseract综述
  10. PLC 定时器指令计数器指令比较赋值指令的总结