彩色图像的直方图均衡化matlab代码

彩色图像的直方图均衡化 - YangYudong2014的专栏 - CSDN博客 http://blog.csdn.net/yangyudong2014/article/details/40515035

matlab进阶摸索篇——彩色图直方图均衡化 - Rachel Zhang的专栏 - CSDN博客 http://blog.csdn.net/abcjennifer/article/details/6667504

用matlab_实现基于直方图均衡化的彩色图像增强 - 成人教育 - 道客巴巴 http://www.doc88.com/p-9042097312218.html

 

基于直方图均衡化的彩色图像增强 http://xueshu.baidu.com/s?wd=paperuri%3A%281fed05e1c842e19690e0862df54a7769%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fd.wanfangdata.com.cn%2FPeriodical_dnzsyjs-itrzyksb201304057.aspx&ie=utf-8&sc_us=13929960759565784614

基于直方图均衡化的彩色图像增强.aspx 

 

 

数字图像处理之直方图均衡化 - yoyo_sincerely - 博客园 

HE.m文件:

RGB = imread('1233212.png'); % 读取彩色图
subplot(121);
imshow(RGB);
title('原图');

[R, C, K] = size(RGB); % 新增的K表示颜色通道数

% 统计每个像素值出现次数
cnt = zeros(K, 256);
for i = 1 : R
    for j = 1 : C
        for k = 1 : K
            cnt(k, RGB(i, j, k) + 1) = cnt(k, RGB(i, j, k) + 1) + 1;
        end
    end
end

f = zeros(3, 256);
f = double(f); cnt = double(cnt);

% 统计每个像素值出现的概率, 得到概率直方图
for k = 1 : K
    for i = 1 : 256
        f(k, i) = cnt(k, i) / (R * C);
    end
end

% 求累计概率,得到累计直方图
for k = 1 : K
    for i = 2 : 256
        f(k, i) = f(k, i - 1) + f(k, i);
    end
end

% 用f数组实现像素值[0, 255]的映射。 
for k = 1 : K
    for i = 1 : 256
        f(k, i) = f(k, i) * 255;
    end
end

% 完成每个像素点的映射
RGB = double(RGB);
for i = 1 : R
    for j = 1 : C
        for k = 1 : K
            RGB(i, j, k) = f(k, RGB(i, j, k) + 1);
        end
    end
end

% 输出
RGB = uint8(RGB);
subplot(122);
imshow(RGB);
title('处理后');

 Matlab 直方图均衡化 - CSDN博客 https://blog.csdn.net/acmore_xiong/article/details/53183131

posted @ 2017-07-17 11:46  ostartech  阅读(5277)  评论(0编辑  收藏  举报