资源简介

该代码包含了直方图均衡算法、带亮度均衡的同态增晰算法、不带亮度均衡的同态增晰算法,附加一个模仿人口密度函数的高通滤波器。适用于彩色图像和灰度图像,增强效果很不错。

资源截图

代码片段和文件信息

clear all
close all
pic=imread(‘H78.jpg‘);     %读入图片
figure;imshow(pic);title(‘before enhancement‘);
for k=1:3
    pic_gray=pic(::k);                 %灰度图提取
    %--------------原图像直方图----------------%
    color_num=zeros(1256);
    [M N]=size(pic_gray);
    for i=1:M
        for j=1:N
            color_num(pic_gray(ij)+1)=color_num(pic_gray(ij)+1)+1;
        end
    end
    color_r=color_num/(M*N);
    % figure(1);
    % plot([0:255]color_r);
    % title(‘原灰度直方图‘);
    % xlabel(‘灰度值‘);ylabel(‘像素的概率密度‘);
    %--------------图像均衡----------------%
    %--------------计算原始累计直方图----------------%
    color_s=zeros(1256);
    for i=2:256
        for j=(i-1):-1:1
        color_s(i)=color_s(i)+color_r(j);
        end
    end
    %--------------量化四舍五入----------------%
    for i=1:256
        color_qu(i)=floor(255*color_s(i)+0.5);
    %     color_s(i)=colorbar(i)/255;
    end
    %--------------作新图像直方图----------------%
    color_new_num=zeros(1256);
    for i=1:256
        color_new_num(color_qu(i)+1)=color_new_num(color_qu(i)+1)+color_num(i);
    end
    color_freq=color_new_num/(M*N);
    % figure(2);
    % plot([0:255]color_freq);
    % title(‘新灰度直方图‘);
    % xlabel(‘灰度值‘);ylabel(‘像素的概率密度‘);
    %--------------建立新图像----------------%
    for i=1:M
        for j=1:N
            pic_new(ij)=color_qu(pic_gray(ij)+1);
        end
    end
    % figure(3);
    % imshow(pic_gray[0 255]);
    % title(‘直方图均衡化前的图‘);
    % figure(4);
    % imshow(pic_new[0 255]);
    % title(‘直方图均衡化后的图‘);
    pic(::k)=pic_new;
end
figure;imshow(pic);title(‘after enhancement‘);





 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1032  2013-04-17 13:13  rgb_hormomorphic.m
     文件        1740  2013-04-17 15:18  rgb_equalization.m

评论

共有 条评论