基于matlab的图像灰度化与图像反白

1原理

2.1 图像灰度化原理

图像灰度化是将彩色图像转换为灰度图像的过程,使得每个像素点仅包含一个灰度值,从而简化了图像的复杂度。灰度化原理主要可以分为以下几种方法:

  1. 亮度平均法

    • 原理:将图像中每个像素的RGB值的平均值作为该像素的灰度值。
    • 公式:灰度值 = (R + G + B) / 3
    • 优点:简单易懂,计算速度快。
    • 缺点:没有考虑到每个颜色通道的重要性,可能会对图像的质量造成影响。
  2. 加权平均法

    • 原理:根据每个颜色通道所表达的亮度值来计算灰度值。由于人眼对于绿色通道的亮度最为敏感,因此绿色通道的权重最高,而红色和蓝色通道的权重相对较低。
    • 公式:灰度值 = 0.299R + 0.587G + 0.114B
    • 优点:考虑了颜色通道的重要性,可以提高图像的质量。
  3. 最大值法

    • 原理:将每个颜色通道中的最大值作为该像素的灰度值。
    • 优点:由于对比度较强,能够突出图像中的主要内容,因此常用于图像边缘检测中。
    • 缺点:可能会损失一些图像细节。
  4. Gamma校正灰度化

    • 原理:由于RGB值与功率并非简单的线性关系,而是幂函数关系,这个函数的指数称为Gamma值,一般为2.2。因此,在灰度化时需要进行Gamma校正。
    • 公式:

eq?Gray%20%3D%20%28%5Csqrt%5B2.2%5D%7B%5Cfrac%7BR%5E%7B2.2%7D+%281.5G%29%5E%7B2.2%7D+%280.6B%29%5E%7B2.2%7D%7D%7B1+1.5%5E%7B2.2%7D+0.6%5E%7B2.2%7D%7D%7D%29

2.2 图像反白原理

图像反白是将图像的暗色区域变为亮色,亮色区域变为暗色的过程。这通常用于增强图像的对比度,使图像更加清晰。

  1. 基本原理:对于彩色图像的R、G、B各彩色分量取反,得到反色后的图像。
  2. 公式:对于像素点(x, y)的RGB值(R, G, B),反白后的RGB值为(255-R, 255-G, 255-B)。这里假设图像是8位无符号整数类型,即RGB值的取值范围是[0, 255]。

通过图像灰度化和反白处理,可以方便地对图像进行后续的分析和处理。

2 代码

%% 图像预处理-灰度化与图像反白
I1 = imread('test.jpeg');  
figure;
subplot(2,2,1);%用subplot建立多个子图
imshow(I1);%用imshow显示图像I
title('原始彩色图像');  
J=rgb2gray(I1);%将彩色图像工转换为灰度图像J
subplot(2,2,2);imshow(J);% 用imshow显示图像J
title('灰度图像');  
subplot(2,2,3);imhist(J);% 计算和显示灰度图像J的灰度直方图
title('灰度直方图');  
Ave = mean2(J);%用mean2函数求图像J的均值
SD = std2(double(J));%用std2函数求图像J的均值
s= size(J);%图像大小为s(1)×s(2)
all_white = 255*ones(s(1),s(2));%设置全部为白色灰度255
all_white_uint8=uint8(all_white);%将double类型矩阵转化为uint8类型矩阵
K= imsubtract(all_white_uint8,J);%图像相减得反白图像K
subplot(2,2,4);imshow(K);%用imshow显示图像K
title('反白图像');  

3 运行结果

44b5fb71f4924997a89606b8311ecb18.jpeg

图1 运行结果

        有一说一,反白图像这张图是不是挺有感觉的,嘿嘿。

 

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值