数字图像处理实验二:图像灰度修正 matlab

  • 实验内容
  1. 任意选取一副图像,应用线性和非线性点运算,调整灰度的图像细节更容易看清,显示灰度变换前后的图像。
  2. 任意选择一副灰度图像,实现图像的直方图均衡。显示原始图片,原始直方图分布,直方图均衡后图像及直方图分布。
  • 源程序和结果

    (1) 任意选取一副图像,应用线性和非线性点运算,调整灰度的图像细节更容 易看清,显示灰度变换前后的图像。

    %将界面上的内容全部清空

    clc;

    clear;

    close all;

    I1=imread('D:\matl\1\i_building.jpg');%将磁盘存放的图片读入程序

    I1=rgb2gray(I1);%将彩色图像转化成灰度图像

    figure(1)

    imshow(I1),title('原图');

    I=I1;

    s1=I1+20;

    s2=2*I1+20;

    s3=0.5*I1+20;

    %伽马运算和线性运算

    figure(2);

    %Gamma取0.75

    subplot(2,3,1);imshow(imadjust(I,[],[],0.75));title('Gamma 0.75');

    %Gamma取1

    subplot(2,3,2);imshow(imadjust(I,[],[],1));title('Gamma 1')

    %Gamma取1.5

    subplot(2,3,3);imshow(imadjust(I,[],[],1.5));title('Gamma 1.5');

    %a=1,b=20

    subplot(2,3,4);imshow(s1);title('a=1,b=20');

    %a=2,b=20

    subplot(2,3,5);imshow(s2);title('a=2,b=20');

    %a=0.5,b=20

    subplot(2,3,6);imshow(s3);title('a=0.5,b=20');

     

    2)任意选择一副灰度图像,实现图像的直方图均衡。显示原始图片,原始直方图分布,直方图均衡后图像及直方图分布。

    % 读取原图

    R =I1;

    [row, col] = size(R);%rowR的行数,colR的列数

    figure(3);

    % 显示原图和原图对应的直方图

    subplot(2,2,1), imshow(R), title('原灰度图');

    subplot(2,2,2), imhist(R), title('原灰度图的直方图');

    % 计算PMF,即统计各灰度值的像素数量

    PMF = zeros(1, 256); %注意MATLAB的数组索引从1开始

    for i = 1:row

        for j = 1:col

            PMF(R(i,j) + 1) = PMF(R(i,j) + 1) + 1; % R(i,j)为像素的灰度值

        end

    end

    PMF = PMF / (row * col);

    % 计算CDF

    CDF = zeros(1,256);

    CDF(1) = PMF(1);

    for i = 2:256

        CDF(i) = CDF(i - 1) + PMF(i);

    end

    % 计算均衡后的像素值

    Sk = zeros(1,256);

    for i = 1:256

        Sk(i) = CDF(i) * 255;

    end

    % 映射到新的像素值

    Sk = round(Sk);

    for i = 1:row

        for j = 1:col

            R(i,j) = Sk(R(i,j) + 1);

        end

    end

    % 绘制直方图均衡后的图像

    subplot(2,2,3), imshow(R), title('直方图均衡');

    subplot(2,2,4), imhist(R), title('均衡后的直方图');

     

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sftmnggsujgff.shhgft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值