将 8 位 RGB 图像转换为灰度图像

您可以对整型数据执行数学运算,这样可以直接转换图像类型,而无需先转换图像数据的数值类。

此示例将一个 8 位 RGB 图像读入 MATLAB 变量,并将其转换为灰度图像:

rgb_img = imread('ngc6543a.jpg'); % Load the imageimage(rgb_img) % Display the RGB image

axis image;

注意

该图像是在太空望远镜科学研究所(由大学天文研究联合组织管理)支持下根据 NASA 合同 NAs5-26555 创建的,并得到 AURA/STScI 的复制许可。使用者可以免版权费获得由 AURA/ STScI 制作的图像的数字版本。感谢:J.P. Harrington 和 K.J. Orkowski(马里兰大学)以及 NASA。

基于 NTSC 标准合并 RGB 值,以此方式来计算单色亮度,这会将与眼睛敏感度相关的系数应用到 RGB 颜色:

I = .2989*rgb_img(:,:,1)...

+.5870*rgb_img(:,:,2)...

+.1140*rgb_img(:,:,3);

I 是具有整数值的强度图像,整数值范围从最小值零开始:

min(I(:))

ans =

0

到最大值 255:

max(I(:))

ans =

255

要显示图像,请使用 256 值的灰度颜色图。这样可以避免调整数据到颜色的映射,当使用不同尺寸的颜色图时通常需要进行此项调整。如果颜色图未包含每个数据值的项,则需使用 imagesc 函数。

现在使用灰度颜色图在新图窗中显示图像:

figure; colormap(gray(256)); image(I);

axis image;

相关信息

其他的颜色范围从深色到浅色连续变化的颜色图也可生成可用的图像。例如,使用 colormap(summer(256)) 生成经典的示波器样式。有关更多选项,请参阅 colormap。

brighten 函数可以让您增加或减少颜色图中的强度以补偿电脑显示差异或增强图像中模糊或明亮区域的可见性(其代价是另一端的颜色会有损失)。

matlab 16位图转8位,8 位和 16 位图像相关推荐

  1. 图像位深度 8位 16位 24位 32位区别对比 RGB 真彩色 基本概念:(大小,深度,通道)位深度数据类型转换原理 Mat数据读取(opencv里的imread)

    位深度 位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的.计算机之所以能够显示颜色,是采用了一种称作"位"( bit ) 的记数单位来记录所表 ...

  2. BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的

    BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的 原文:http://blog.csdn.net/qq445803843/article/details/46476433 这段代 ...

  3. 16位/32位中断机制比較

    16位/32位中断机制比較 原理: 16位中断机制:使用中断向量表 32位中断机制:使用中段描写叙述符表IDT 位置: 中断向量表的位置是固定的,位于内存的開始0x00000 中断向量符表位置不固定, ...

  4. 8位16位32位单片机区别

    8位16位32位区别 8位单片机的数据总线宽度为8位,通常直接只能处理8位数据: 16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据. 8位数据类型所占大小 16位数据类型所占大小 s ...

  5. 8位字节数转16位字节数_位与字节比较

    8位字节数转16位字节数 Bit is the most basic storage unit of the computer systems where Byte is a basic storag ...

  6. 将最大位1000位的16进制转化位8进制(蓝桥杯)

    用c++实现将最大位1000位的16进制转化成8进制(## 蓝桥杯) 题目 先将16进制转化成二进制在将其转化成八进制 代码如下(示例): ```cpp #include <bits/stdc+ ...

  7. C#中Guid.ToString (String)五种格式,以及将32位的GUID转为16位及其他格式

    注意:本内容来自:C#中Guid.ToString Method (String)五种格式,以及将将32位的GUID转为16位及其他格式 一.生成各种格式的32位GUID  System.Guid.N ...

  8. Three_Level_NPC_Inverter:基于MATLAB Simulink的三电平中性点钳位(NPC)逆变器仿真模型

    Three_Level_NPC_Inverter:基于MATLAB Simulink的三电平中性点钳位(NPC)逆变器仿真模型. 仿真条件:MATLAB Simulink R2015b,拿后前如需转成 ...

  9. matlab设置固定的窗宽窗位,【经验谈】如何设定窗宽窗位,附正常人体组织CT值...

    让学习成为一种习惯! 医学影像服务中心拥有500病例征象+讲座 一般CT机可显示的CT值范围为-1000-+1000共2000个密度等级,而人的肉眼仅能识别16个灰阶,若把2000个CT值分成16个灰 ...

  10. 创世贴|怎么在64或32位系统中运行16位程序《大富翁》

    创世贴|怎么在64或32位系统中运行16位程序<大富翁> 绪言 大家好!纵观游戏行业的发展,可谓是进步迅猛.百花齐放.游戏是每个人在学习.工作之余休闲娱乐的良药.玩游戏的人从皇宫贵族到社会 ...

最新文章

  1. git 使用和一些错误
  2. 51Nod - 2142身份证号排序
  3. Android开源框架——网络解析GSON
  4. php控制字数方法,php处理字数过多的方法
  5. table 合并列_Table.Group相邻的两个数合并案例
  6. 数字IC验证学习(二)
  7. dorado-SplitSpanel控件
  8. 工作39:注意传参和返回
  9. [转载] scala
  10. php javascript 不执行,javascript – 不工作php按钮来执行操作
  11. ubuntu上下左右变成BD
  12. SVN合并分支到主干(简单易懂)
  13. endnote找不到国标_实验差距惊人!揭秘雅迪高于新国标的品质标准测试
  14. socket 10106问题解决日记
  15. 微信抢抢票服务器,已有多人被坑!抢票“加速包”慎用!
  16. MongoDB学习(二)MongoDB 认证详解
  17. 微信红包封面免费送!!!
  18. Chapter3.2 实现多个PLAYS
  19. 随机森林算法: 实战基于随机森林的医疗费用分析与建模预
  20. vue.js 回显textarea入的空格和换行

热门文章

  1. 静态库的创建和使用(Win10+VS2022
  2. Codeforces Round #742 (Div. 2) D. Expression Evaluation Error(思维 + 贪心)
  3. python meshgrid_Python numpy.meshgrid函数方法的使用
  4. GMT时间、UTC时间、CST时间
  5. JS实现眼睛跟随鼠标特效
  6. 三百英雄服务器维护2020,300英雄将在2020.11.5停机更新
  7. idea中更换maven仓库位置
  8. java验证cron表达式_Cron表达式详解和表达式的验证
  9. android通过led实现手电筒
  10. 热云数据全线能力介绍2021年8月