Matlab实现灰度图gray直方图计算

1 计算原理

灰度图只有一个通道,所以可以直接计算亮度直方图。
计算原理:统计各亮度等级出现的频度。

2 代码实现

实现代码:

%% Read in the image
lenaIMG = rgb2gray(imread('lena512color.tiff'));

%% Using API
% histogram(lenaIMG);
% imhist(lenaIMG);

%% My histogram code
% w = width, h = hight
[w, h] = size(lenaIMG);
% Create a 1*256 D matrix, record the intensity value
hcount = zeros([1 256]);
for i = 1:w
    for j = 1:h
        % Accumulation
        hcount(lenaIMG(i, j)) = hcount(lenaIMG(i, j)) + 1;
    end
end
% Draw the histogram
stem(0:255, hcount,'.');
title('GRAY IMG HISTOGRAM');
xlabel('Intensity');
ylabel('Frequentness');
% Control axis range
axis([0 255 0 3000]);

易知,直方图的总和为图像的像素之和。

3 效果展示

读入图像:
在这里插入图片描述

直方图:
在这里插入图片描述

工程下载地址一:点击此处
工程下载地址二:点击此处
真彩图的直方图计算请参考:点击此处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值