用matlab_实现基于直方图均衡化的彩色图像增强 - 成人教育 - 道客巴巴 http://www.doc88.com/p-9042097312218.html
数字图像处理之直方图均衡化 - 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
请发表评论