本文将@wsywl与@wesleyluo两位的博客经过自己的想法重新试了一下,效果不错。

MyYuanLaiPic = imread('lena.jpg');%读取RGB格式的图像
MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换[rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数
MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像
OldGrayPic = zeros(rows , cols);
OldGrayPic = uint8(OldGrayPic);
MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的
%uint8是指0~2^8-1 = 255数据类型
for i = 1:rows for j = 1:colssum = 0;sumold = 0;for k = 1:colorssumold = sumold + MyYuanLaiPic(i , j , k) / 3;%进行转化的关键公式,sum每次都因为后面的数字而不能超过255switch kcase{1}m = 0.299;case{2}m = 0.587;case{3}m = 0.114;endsum = sum + MyYuanLaiPic(i , j , k)*m;endMidGrayPic(i , j) = sum;OldGrayPic(i , j) = sumold;end
end
%imwrite(MidGrayPic , 'E:/image/matlab/DarkMouseGray.png' , 'png');
imwrite(MidGrayPic , 'DarkMouseGray.png' , 'png');
imwrite(OldGrayPic , 'OldGray.png' , 'png');
%显示原来的RGB图像
figure(1);
imshow(MyYuanLaiPic);%显示经过系统函数运算过的灰度图像
figure(2);
imshow(MyFirstGrayPic);
%显示经过其他人设计的函数运算过的灰度图像
figure(3);
imshow(OldGrayPic);
%显示自制的转化之后的灰度图像
figure(4);
imshow(MidGrayPic);

显示结果如下



灰度图是指只含亮度信息,不含色彩信息的图象,就象我们平时看到的黑白照片:亮度由暗到明,变化是连续的。因此,要表示灰度图,就需要把亮度值进行 量化。通常划分成0到255共256个级别,其中0最暗(全黑),255最亮(全白)。在表示颜色的方法中,除了RGB外,还有一种叫YUV的表示方法, 应用也很多。电视信号中用的就是一种类似于YUV的颜色表示方法。在这种表示方法中,Y分量的物理含义就是亮度,Y分量包含了灰度图的所有信息,只用Y分 量就能完全能够表示出一幅灰度图来。
从 RGB 到 YUV 空间的 Y 转换公式为:
Y = 0.299R+0.587G+0.114B
这是依据的原理
与图二原始灰度相比,可以看出图四恢复出的图像效果更好一些。## matlab实现将彩色图像转换成灰色图像的方法 ##

matlab实现将彩色图像转换成灰色图像的方法相关推荐

  1. matlab下的彩色图像转换成二值图像并保存

    在matlab平台下,为了得到二值图像,先是用函数im2bw将彩色图像转换成二值图像,然后用imwrite函数生成指定路径的二值图像. 这里用到的例子是将彩色图像(64×64×3 uint8型图像数组 ...

  2. 如何将一个彩色图像转换成黑白图像

    作者:未知 彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值,通过匹配像素 亮度值可以轻松转换为黑白图像. 计算像素有效的亮度值可以使用下面的公式: Y=0.3RED+0.59GREEN+0. ...

  3. matlab 图像转视频教程,Matlab制作视频并转换成gif动态图的两种方法

    一.第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件. %% f(t)-->f(4*t+12) 并且验证%% function Signal_change() tic%记录程 ...

  4. 在WPF中将图片转换成3D图像并可以旋转

    原文:在WPF中将图片转换成3D图像并可以旋转 时光偷走的,永远都是我们眼皮底下看不见的珍贵. https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 首先先看 ...

  5. html表格转换为csv,python实现将html表格转换成CSV文件的方法

    python实现将html表格转换成CSV文件的方法 发布于 2015-11-18 16:53:39 | 155 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种 ...

  6. python对象列表转换为字典_python实现class对象转换成json/字典的方法

    本文实例讲述了python实现class对象转换成json字典的方法.分享给大家供大家参考,具体如下: # -*- encoding: UTF-8 -*- class Student: name = ...

  7. 普通话转换成方言的语音识别方法

    普通话转换成方言的语音识别方法 [专利说明]普通话转换成方言的语音识别方法发明领域 [0001]本发明涉及一种方言学习过程中的语音翻译的方法,属于语言学习技术领域. [背景技术] [0002]方言,地 ...

  8. 把PDF转换成PPT有哪些方法

    网上可以查到好多方法可以将PDF文件转换成PPT文件,但是有些对PDF文件格式要求比较严格,稍稍有误就不能生成我们所要的PPT文件,此处笔者将推荐一个专业实用的PDF转换软件,可以将PDF文档进行格式 ...

  9. python制作ico图标_python使用PythonMagic k将jpg图片转换成ico图片的方法

    python使用PythonMagic k将jpg图片转换成ico图片的方法 发布时间:2017-06-27 08:00 来源:互联网 当前栏目:网页设计教程 这篇文章主要介绍了python使用Pyt ...

  10. python将图片转换成二进制文本_python将图片文件转换成base64编码的方法

    本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...

最新文章

  1. 图像在计算机中通过什么方式表示_万物皆可“计算机视觉”
  2. 常见错误: 创建 WCF RIA Services 类库后, 访问数据库出错
  3. php ios视频文件上传,iOS实现视频和图片的上传思路
  4. C++vector容器学习
  5. python文本筛选html_Python使用正则表达式去除(过滤)HTML标签提取文字功能
  6. Open/Close Port in Centos
  7. 计算机网络是如何通信的【二】
  8. 探讨C#的out关键字
  9. Python科学计算扩展库numpy中的广播运算
  10. Java运行时出现”the serializable class drawline does not declare a static final serialversio”...
  11. numpy—np.stack、np.hstack、np.vstack
  12. visio2010安装
  13. 红帽舍弃 KDE 桌面;暴雪与网易共同研发 “暗黑破坏神”手游
  14. 测试hadoop服务器NodeManager无法连接ResourceManager问题
  15. enable anomaly detection to find the operation that failed to compute its gradient, with torch.autog
  16. android insert方法,史上最精炼android四大组件基础总结(忘记了的可以过一遍)
  17. DNS系统概述及重要性
  18. 中瀛手机销售软件 绘图软件
  19. CodeArts持续发力输出,华为云重塑软件开发
  20. PrestoOnYarn搭建及其问题解决方案总结

热门文章

  1. ASO优化如何不花钱也能上榜
  2. 长江大学计算机基础试卷2018 2019,长江大学2017年第一学期-计算机基础试卷.doc
  3. Linux基础操作篇
  4. R笔记3:ggplot绘制商务图表…
  5. DSP CCS12.00 芯片:TMS320F28335 外部中断 XINT1, 和映射区域的 k1 -- k4 按键的功能实现
  6. 【C语言】统计出文章的英文大写字母、小写字母、数字、空格以及其他字符的个数,共有3行文字,每行有80个字符
  7. Linux删除其中一行的快捷键,Linux 命令快捷键
  8. 计算机网络对大学生负面影响案例,大学生网络成瘾问题的危害及影响
  9. 白鹭引擎 android9,【安卓】手把手教你Egret引擎一键发布华为快游戏
  10. 通过css和html构建能耗数据分析树状图