2.matlab图像三种方法灰度值处理
一、基础知识
彩色图像:每个像素由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图像三种方法灰度值处理相关推荐
- 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 问题解答: 我来补答 ...
- matlab 分水岭法,分水岭算法Matlab实现——三种方法 | 学步园
clear,clc%三种方法进行分水岭分割 %读入图像 filename='sar1.bmp'; f=imread(filename); Info=imfinfo(filename); if Info ...
- matlab中 三种方法计算 Ax b,在MATLAB中,方程Ax=B的解可以用哪个命令求得? matlab 求助 解方程组...
matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=inv(A)*b - 采用求逆运算解方程组: (2)x=A\B - ...
- 吉洪诺夫 matlab,使用三种方法求解吉洪诺夫正则化参数,为什么结果相同
问题主要是使用了三种不同的方法去求解吉洪诺夫正则化的参数,具体过程在附件,但是求解的结果不怎么对劲 %以下为L曲线验证 [L,W]=get_l(76,2); [UU,sm,XX] = cgsvd (A ...
- matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法
[实例简介] 数字图像处理图像的骨架生成和提取(Matlab),有三种方法,推荐给大家! [实例截图] [核心代码] Programe ├── Programe1 │ ├── 00.JPG │ ...
- 图像灰度化的三种方法(matlab、C++、Python实现)
灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...
- matlab求pi值的三种方法
https://www.icourse163.org/learn/CSU-1002475002?tid=1450231442#/learn/content?type=detail&id=121 ...
- 【Python】图像反转/反色的三种方法(pillow)
引言 图像反转(反色)是将图像的灰度值反转,若图像灰度级为 256,则新图的灰度值为 255 减去原图的灰度值.本文介绍了使用 Python 的 pillow 库进行图像反转(反色)的三种方法. 安装 ...
- Matlab中数组元素引用——三种方法
Matlab中数组元素引用--三种方法 1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 注意:在使用这 ...
- python调用matlab函数_从 Python 调用 MATLAB 函数的三种方法
0. 实验环境Ubuntu 16.04 Matlab R2015b 1. 借助于 mlab 库 安装方法非常简单,只需一行命令 sudo pip install mlab 即可. import num ...
最新文章
- 大数据,人工智能网易百度这些公司都走在前列
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
- 信息系统项目管理师-论文写作基本介绍笔记
- Vue实现Todo List
- 去除Activity的标题栏以及全屏显示
- Response.IsClientConnected
- 6 linux 制作raw命令_云计算网络知识学习-linux网络基础
- mybatis基于注解(三)
- Struts2执行流程
- 浅析下关于js的 逗号运算符 和 改变this指向 的一道题(mv to git)
- 实验3.2 定义一个简单的Computer类
- C++ 类的前向声明
- L1-031 到底是不是太胖了 (10 分)—团体程序设计天梯赛
- 给服务器端DropDownList控件添加客户端onchange事件
- imagenet2012 label
- 据说是最健康的作息时间表
- 天刀服务器在线人数统计,天刀手游各大区活跃人数统计 神刀削弱后不降反增!...
- python面向对象_05(面向对象封装案例 II)
- 新一代区块链手机“甲骨文”即将上市
- 世平信息商用密码应用检查系统正式发布!数字时代合规管控路径再突破