matlab灰度变换rgb2gray与直方图均衡化histeq
2015-06-06 16:31
274 查看
彩色图像是RGB,直接用rgb2gray。MATLAB并没有自带gray2rgb.
灰度图像是个NxM矩阵。N和M为坐标,存储的数值是灰度深浅强度。RGB为NxMx3的矩阵。N和M为坐标,附带的3是[红,绿,蓝]三色,数值各取0-1.0之间。转换上,如果灰度图像为1024x768大小,则要建立一个1024x768x3的矩阵。再在每一像素上添上颜色。例如,rgb_image(2,4,:)=[011]%(坐标(2,4)=浅蓝色)。
rgb2gray原理:以R、G、B为轴建立空间直角坐标系,则RGB图的每个象素的颜色可以用该三维空间的一个点来表示,而Gray图的每个象素的颜色可以用直线R=G=B上的一个点来表示。于是rgb转gray图的本质就是寻找一个三维空间到一维空间的映射,最容易想到的就是射影(即过rgb空间的一个点向直线R=G=B做垂线)。matlab做法也是如此:rgb2grayconvertsRGBvaluestograyscalevaluesbyformingaweightedsumoftheR,G,
andBcomponents:
0.2989*R+0.5870*G+0.1140*B
结果:
直方图均衡化histeq:可以增强图像的对比度
低对比度的图像,给人的感觉是灰蒙蒙的,其直方图分布(概率密度),通常比较集中,高对比度的直方图,亮度分布在整个区域较为平均。如下图:
其他资料:
http://blog.chinaaet.com/detail/32550
灰度图像是个NxM矩阵。N和M为坐标,存储的数值是灰度深浅强度。RGB为NxMx3的矩阵。N和M为坐标,附带的3是[红,绿,蓝]三色,数值各取0-1.0之间。转换上,如果灰度图像为1024x768大小,则要建立一个1024x768x3的矩阵。再在每一像素上添上颜色。例如,rgb_image(2,4,:)=[011]%(坐标(2,4)=浅蓝色)。
rgb2gray原理:以R、G、B为轴建立空间直角坐标系,则RGB图的每个象素的颜色可以用该三维空间的一个点来表示,而Gray图的每个象素的颜色可以用直线R=G=B上的一个点来表示。于是rgb转gray图的本质就是寻找一个三维空间到一维空间的映射,最容易想到的就是射影(即过rgb空间的一个点向直线R=G=B做垂线)。matlab做法也是如此:rgb2grayconvertsRGBvaluestograyscalevaluesbyformingaweightedsumoftheR,G,
andBcomponents:
0.2989*R+0.5870*G+0.1140*B
clc;
clear;
closeall;
img=imread('41.jpg');
j=rgb2gray(img);
subplot(2,2,1);imshow(j);
subplot(2,2,3);imhist(histeq(j));
subplot(2,2,2);imhist(j);figure
结果:
直方图均衡化histeq:可以增强图像的对比度
低对比度的图像,给人的感觉是灰蒙蒙的,其直方图分布(概率密度),通常比较集中,高对比度的直方图,亮度分布在整个区域较为平均。如下图:
其他资料:
http://blog.chinaaet.com/detail/32550
相关文章推荐
- Matlab Instrument Control Toolsbox Serial Send/Receive 基本使用
- 用支持向量机做OCR(MATLAB)
- MATLAB新手教程
- Opencv与matlab的混合编程
- Matlab 常用功能
- 编写Matlab过程中一些实用的小知识,记录下
- 积分图像的应用(一):局部标准差 分类: 图像处理 Matlab 2015-06-06 13:31 137人阅读 评论(0) 收藏
- 积分图像 分类: 图像处理 Matlab 2015-06-06 10:30 149人阅读 评论(0) 收藏
- Matlab图像处理系列3———空间域锐化滤波器
- 文章标题
- MATLAB产生的导频经QPSK调制后的精度的问题
- matlab使用reshape应该注意的问题
- MATLAB实现控制鼠标移动和点击
- huffman编码的MATLAB递归实现
- matlab画甘特图
- 模糊控制器介绍与应用
- matlab secant method
- matlab生成圆
- Matlab图像处理系列2———空间域平滑滤波器
- MATLAB squeeze 函数