我是靠谱客的博主 迷你胡萝卜,这篇文章主要介绍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时,能得到最合理的灰度图像。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
%代码如下 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:m i1(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('第三种方法')

在这里插入图片描述

复制代码
1
2
3
4
5
6
7
%也可以把地下显示代码改成 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图像三种方法灰度值处理一、基础知识二、图像灰度化的三种方法的全部内容,更多相关2.matlab图像三种方法灰度值处理一、基础知识二、图像灰度化内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部