一、基础知识

彩色图像:每个像素由R、G、B三个分量表示,每个通道取值范围0~255。(通一个彩色图像是由三页组成的,分别是R、G、B,每一页都是一个二维矩阵)

灰度图像:每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度值分布在0~255之间。

二值图像(黑白图像):每个像素点只有两种可能,0和1.0代表黑色,1代表白色。数据类型通常为1个二进制位。

二、图像灰度化的三种方法

最大值法:使R,G,B的值等于3值中最大的一个,R=G=B=max(R,G,B),最大值法会形成亮度很高的灰度图像。

平均值法:是R,G,B的值求出平均值,R=G=B=(R+G+B)/3,平均值法会形成较柔和的灰度图像。

加权平均值法:根据重要性或其他指标给R,G,B赋予不同的权值,并使R,G,B的值加权平均,R=G=B=WR+VG+UB,W,V,U分别表示权重,研究表明,人对绿色的敏感度最高,对红色次之,对蓝色的敏感度最低,因此W>V>U,实验和理论证明当W=0.30,V=0.59,U=0.11时,能得到最合理的灰度图像。

%代码如下
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\1.jpg');%绝对路径的读取
[n m a]=size(i);%判断图像的大小
z= rgb2gray(i);%调用MATLAB函数实现灰度化
i1=zeros(n,m);
i2=zeros(n,m);
i3=zeros(n,m);for x=1:n%通过双循环对图像进行灰度化处理for y=1:mi1(x,y)=max(i(x,y,1),max(i(x,y,2),i(x,y,3)));  %第一种方法实现灰度化i2(x,y)=(i(x,y,1)+i(x,y,2)+i(x,y,3))/3;%第二种方法实现灰度化i3(x,y)=0.3*i(x,y,1)+0.59*i(x,y,2)+0.11*i(x,y,3);%第三种方法实现灰度化end
end
figure,imshow(i);title('原图像')
figure,imshow(z);title('调用系统函数实现灰度化')
figure,imshow(uint8(i1));title('第一种方法')
figure,imshow(uint8(i2));title('第二种方法')
figure,imshow(uint8(i3));title('第三种方法')

%也可以把地下显示代码改成
subplot(231);imshow(i);title('原图像')
subplot(232);imshow(z);title('调用系统函数实现灰度化')
subplot(233);imshow(uint8(i1));title('第一种方法')
subplot(234);imshow(uint8(i2));title('第二种方法')
subplot(235);imshow(uint8(i3));title('第三种方法')

2.matlab图像三种方法灰度值处理相关推荐

  1. matlab解方程x 2-x-2=0,matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0...

    问题描述: matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0 1个回答 分类: 数学 2014-11-28 问题解答: 我来补答 ...

  2. matlab 分水岭法,分水岭算法Matlab实现——三种方法 | 学步园

    clear,clc%三种方法进行分水岭分割 %读入图像 filename='sar1.bmp'; f=imread(filename); Info=imfinfo(filename); if Info ...

  3. matlab中 三种方法计算 Ax b,在MATLAB中,方程Ax=B的解可以用哪个命令求得? matlab 求助 解方程组...

    matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=inv(A)*b - 采用求逆运算解方程组: (2)x=A\B - ...

  4. 吉洪诺夫 matlab,使用三种方法求解吉洪诺夫正则化参数,为什么结果相同

    问题主要是使用了三种不同的方法去求解吉洪诺夫正则化的参数,具体过程在附件,但是求解的结果不怎么对劲 %以下为L曲线验证 [L,W]=get_l(76,2); [UU,sm,XX] = cgsvd (A ...

  5. matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法

    [实例简介] 数字图像处理图像的骨架生成和提取(Matlab),有三种方法,推荐给大家! [实例截图] [核心代码] Programe ├── Programe1 │   ├── 00.JPG │   ...

  6. 图像灰度化的三种方法(matlab、C++、Python实现)

    灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...

  7. matlab求pi值的三种方法

    https://www.icourse163.org/learn/CSU-1002475002?tid=1450231442#/learn/content?type=detail&id=121 ...

  8. 【Python】图像反转/反色的三种方法(pillow)

    引言 图像反转(反色)是将图像的灰度值反转,若图像灰度级为 256,则新图的灰度值为 255 减去原图的灰度值.本文介绍了使用 Python 的 pillow 库进行图像反转(反色)的三种方法. 安装 ...

  9. Matlab中数组元素引用——三种方法

    Matlab中数组元素引用--三种方法 1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 注意:在使用这 ...

  10. python调用matlab函数_从 Python 调用 MATLAB 函数的三种方法

    0. 实验环境Ubuntu 16.04 Matlab R2015b 1. 借助于 mlab 库 安装方法非常简单,只需一行命令 sudo pip install mlab 即可. import num ...

最新文章

  1. 大数据,人工智能网易百度这些公司都走在前列
  2. 通过Nginx,Tomcat访问日志(access log)记录请求耗时
  3. 信息系统项目管理师-论文写作基本介绍笔记
  4. Vue实现Todo List
  5. 去除Activity的标题栏以及全屏显示
  6. Response.IsClientConnected
  7. 6 linux 制作raw命令_云计算网络知识学习-linux网络基础
  8. mybatis基于注解(三)
  9. Struts2执行流程
  10. 浅析下关于js的 逗号运算符 和 改变this指向 的一道题(mv to git)
  11. 实验3.2 定义一个简单的Computer类
  12. C++ 类的前向声明
  13. L1-031 到底是不是太胖了 (10 分)—团体程序设计天梯赛
  14. 给服务器端DropDownList控件添加客户端onchange事件
  15. imagenet2012 label
  16. 据说是最健康的作息时间表
  17. 天刀服务器在线人数统计,天刀手游各大区活跃人数统计 神刀削弱后不降反增!...
  18. python面向对象_05(面向对象封装案例 II)
  19. 新一代区块链手机“甲骨文”即将上市
  20. 世平信息商用密码应用检查系统正式发布!数字时代合规管控路径再突破

热门文章

  1. 计算机计算公式单组数据求乘法,excel怎么算乘法
  2. win10使用无边框鼠标 (mouse without border)-局域网共享鼠标键盘
  3. 类和对象1:基础学习
  4. 第一次登陆阿里云ECS云服务器及其配置
  5. 利用数据库进行肿瘤基因的挖掘
  6. QQ邮箱搜索器 邮箱地址批量搜索
  7. 最适合编程的笔记本电脑是什么?
  8. 26个大小写字母对应的哈希值
  9. git clone与git pull区别
  10. office办公软件题库1