zoukankan      html  css  js  c++  java
  • 【数字图像处理之(四)】用图像增强谈灰度直方图

    灰度直方图

    是灰度级的函数,描写叙述的是图像中该灰度级的像个数或该灰度级像素出现的频率(归一化)


    • 生成并绘制直方图:
    src = imread('Fig0303(a)(breast).tif');
    imshow(src);
    h1 = imhist(src);                      %生成直方图
    figure,imhist(src,255);             %绘制直方图
    
    h2 = imhist(src, 25);                 %生成直方图
    horz = linspace(0, 255, 25);
    figure,bar(horz, h2);                 %绘制条状直方图
    axis([0 255 0 60000]);               %设置坐标轴最大最小值
    set(gca, 'xtick', 0:50:250);          %设置坐标轴的标尺
    set(gca, 'ytick', 0:20000:60000);
    xlabel('灰度级', 'fontsize', 10);  %坐标轴附加图像
    ylabel('灰度值', 'fontsize', 10);
    text(150, 40000, '条形直方图', 'fontsize',15);
    
    h3 = imhist(src, 25);                 %生成直方图
    horz = linspace(0, 255, 25);
    figure,stem(horz, h3, 'fill');      %绘制杆状直方图
    axis([0 255 0 60000]);               %设置坐标轴最大最小值
    set(gca, 'xtick', 0:50:250);         %设置坐标轴的标尺
    set(gca, 'ytick', 0:20000:60000);
    xlabel('灰度级', 'fontsize', 10); %坐标轴附加图像
    ylabel('灰度值', 'fontsize', 10);
    text(150, 40000, '杆状直方图', 'fontsize',15);
    
    h4 = imhist(src);                       %生成直方图
    figure,plot(h4);                         %绘连续直方图
    xlim('auto');                              %自己主动设置坐标轴范围和标尺
    ylim('auto');
    text(150, 40000, '连续直方图', 'fontsize',15);


     
    • 直方图均衡化(可使图像的灰度间距拉开或使灰度分布均匀):
    src = imread('Fig0303(a)(breast).tif');
    result = histeq(src);    %均衡化
    imshow(result);






    • 自适应直方图均衡化:
    src = imread('Fig0303(a)(breast).tif');
    result = adapthisteq(src);%自适应直方图均衡化
    figure, imshow(src);
    figure, imhist(src);
    figure, imshow(result);
    figure, imhist(result);



    • MATLAB函数小结:
    imhist( ):该函数用于获取图像数据直方图。(PS:若没有赋值给左边的变量,该函数将显示一张灰度直方图)
    h1 = imhist( src, n )
    src--输入图像
    n   --灰度级别,默觉得256

    linspace(a, b, n):该函数生成一个(1xn)数组。数据的第一个元素值为a。最后一个元素为b。n是总採样点数。(PS:全部元素的值均匀分布)

    bar(horz, h2):绘制条状直方图,通过horz控制直方图显示的密集程度                 
    horz -- 一个(1xn)数组(跟h2同阶)
    h2    -- 要绘制的直方图

    stem(horz, h3, 'fill'):绘制杆状直方图
    horz -- 一个(1xn)数组(跟h2同阶)
    h2    -- 要绘制的直方图
    'fill'  -- 杆头是否空心

    plot(h4):绘连续直方图


    result = histeq(src);    %获取直方图均衡化后的图像

    result = adapthisteq(src);      %获取直方图自适应均衡化后的图像



  • 相关阅读:
    HTML5新增标签,表单及属性
    css3背景属性
    移动端隐藏滚动条
    css3选择符
    Hibernate读书笔记条件查询
    Hibernate读书笔记事件机制
    Hibernate读书笔记SQL查询
    Hibernate读书笔记HQL查询
    Hibernate读书笔记Hibernate知识总结
    Hibernate读书笔记缓存
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5153831.html
Copyright © 2011-2022 走看看