matlab实现将彩色图像转换成灰色图像的方法
本文将@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实现将彩色图像转换成灰色图像的方法相关推荐
- matlab下的彩色图像转换成二值图像并保存
在matlab平台下,为了得到二值图像,先是用函数im2bw将彩色图像转换成二值图像,然后用imwrite函数生成指定路径的二值图像. 这里用到的例子是将彩色图像(64×64×3 uint8型图像数组 ...
- 如何将一个彩色图像转换成黑白图像
作者:未知 彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值,通过匹配像素 亮度值可以轻松转换为黑白图像. 计算像素有效的亮度值可以使用下面的公式: Y=0.3RED+0.59GREEN+0. ...
- matlab 图像转视频教程,Matlab制作视频并转换成gif动态图的两种方法
一.第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件. %% f(t)-->f(4*t+12) 并且验证%% function Signal_change() tic%记录程 ...
- 在WPF中将图片转换成3D图像并可以旋转
原文:在WPF中将图片转换成3D图像并可以旋转 时光偷走的,永远都是我们眼皮底下看不见的珍贵. https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 首先先看 ...
- html表格转换为csv,python实现将html表格转换成CSV文件的方法
python实现将html表格转换成CSV文件的方法 发布于 2015-11-18 16:53:39 | 155 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种 ...
- python对象列表转换为字典_python实现class对象转换成json/字典的方法
本文实例讲述了python实现class对象转换成json字典的方法.分享给大家供大家参考,具体如下: # -*- encoding: UTF-8 -*- class Student: name = ...
- 普通话转换成方言的语音识别方法
普通话转换成方言的语音识别方法 [专利说明]普通话转换成方言的语音识别方法发明领域 [0001]本发明涉及一种方言学习过程中的语音翻译的方法,属于语言学习技术领域. [背景技术] [0002]方言,地 ...
- 把PDF转换成PPT有哪些方法
网上可以查到好多方法可以将PDF文件转换成PPT文件,但是有些对PDF文件格式要求比较严格,稍稍有误就不能生成我们所要的PPT文件,此处笔者将推荐一个专业实用的PDF转换软件,可以将PDF文档进行格式 ...
- python制作ico图标_python使用PythonMagic k将jpg图片转换成ico图片的方法
python使用PythonMagic k将jpg图片转换成ico图片的方法 发布时间:2017-06-27 08:00 来源:互联网 当前栏目:网页设计教程 这篇文章主要介绍了python使用Pyt ...
- python将图片转换成二进制文本_python将图片文件转换成base64编码的方法
本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...
最新文章
- 图像在计算机中通过什么方式表示_万物皆可“计算机视觉”
- 常见错误: 创建 WCF RIA Services 类库后, 访问数据库出错
- php ios视频文件上传,iOS实现视频和图片的上传思路
- C++vector容器学习
- python文本筛选html_Python使用正则表达式去除(过滤)HTML标签提取文字功能
- Open/Close Port in Centos
- 计算机网络是如何通信的【二】
- 探讨C#的out关键字
- Python科学计算扩展库numpy中的广播运算
- Java运行时出现”the serializable class drawline does not declare a static final serialversio”...
- numpy—np.stack、np.hstack、np.vstack
- visio2010安装
- 红帽舍弃 KDE 桌面;暴雪与网易共同研发 “暗黑破坏神”手游
- 测试hadoop服务器NodeManager无法连接ResourceManager问题
- enable anomaly detection to find the operation that failed to compute its gradient, with torch.autog
- android insert方法,史上最精炼android四大组件基础总结(忘记了的可以过一遍)
- DNS系统概述及重要性
- 中瀛手机销售软件 绘图软件
- CodeArts持续发力输出,华为云重塑软件开发
- PrestoOnYarn搭建及其问题解决方案总结
热门文章
- ASO优化如何不花钱也能上榜
- 长江大学计算机基础试卷2018 2019,长江大学2017年第一学期-计算机基础试卷.doc
- Linux基础操作篇
- R笔记3:ggplot绘制商务图表…
- DSP CCS12.00 芯片:TMS320F28335 外部中断 XINT1, 和映射区域的 k1 -- k4 按键的功能实现
- 【C语言】统计出文章的英文大写字母、小写字母、数字、空格以及其他字符的个数,共有3行文字,每行有80个字符
- Linux删除其中一行的快捷键,Linux 命令快捷键
- 计算机网络对大学生负面影响案例,大学生网络成瘾问题的危害及影响
- 白鹭引擎 android9,【安卓】手把手教你Egret引擎一键发布华为快游戏
- 通过css和html构建能耗数据分析树状图