直方图均衡化

摘要:
直方图均衡clc,clear,closeallimg=rgb2gray(imread('/Users/jh/Wallpapers/2.jpg'));imshow(img);%计算直方图[m,n]=大小(img);s1=零(1256);对于i=1:mforj=1:ns1(img(i,j)+1)=s1(img(j,i)+1)+1;%计数图像结束图中0-255的数字;
直方图均衡化

clc, clear, close all

img = rgb2gray(imread('/Users/jh/Wallpapers/2.jpg'));
imshow(img);


% 计算直方图
[m, n] = size(img);

s1 = zeros(1, 256);

for i = 1:m
   for j = 1:n
       s1(img(i, j) + 1) = s1(img(i, j) + 1) + 1; % 统计图像中0-255的个数
   end
end

figure;
bar(0:255, s1); % 绘制直方图

bmap = zeros(1, 256);

for i = 1:256
    temp = 0;
    for j = 1:i
      temp = temp + s1(j); % 计算累加
    end
    bmap(i) = floor(temp * 255 / (m * n)); % 累加和 / (m * n) * 255
end

y = zeros(m, n);

for i = 1:m
   for j = 1:n
      y(i, j) = bmap(img(i, j) + 1); % 将bmap的值对应的赋给y, y为最终的图
   end
end

y = uint8(y); % 像素中不能有负数, 使用uint而不是int
figure;

imshow(y);
s1 = zeros(1, 256); 

for i = 1:m
   for j = 1:n
       s1(y(i, j) + 1) = s1(result_imgf(i, j) + 1) + 1; % 计算均值化之后的直方图
   end
end

figure;
bar(0:255, s1);

免责声明:文章转载自《直方图均衡化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇英语发音规则---F字母快学Scala--03 while 和for下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

opencv 彩色图像亮度、对比度调节 直方图均衡化

直接上代码: 1 #include <Windows.h> 2 #include <iostream>// for stand I/O 3 #include <string> // for strings 4 #include <iomanip> // for controlling float pr...

使用局部标准差实现图像的局部对比度增强算法。

图像的对比度增强算法在很多场合都有着重要的应用,特别是在医学图像上,这是因为在众多疾病的诊断中,医学图像的视觉检查时很有必要的。而医学图像由于本身及成像条件的限制,图像的对比度很低。因此,在这个方面已经开展了很多的研究。这种增强算法一般都遵循一定的视觉原则。众所周知,人眼对高频信号(边缘处等)比较敏感。虽然细节信息往往是高频信号,但是他们时常嵌入在大量的低...