Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6269720
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: IT业界

2013-04-15 01:54:07

clear;
clc;
f=imread('123.jpg');
[m,n,p]=size(f);   %对于二维数组来说,它的size是指它的行数和列数;三维数组是指它的各个维的维度,可以理解为m行,n列和p层,即一共有m*n*p个元素
a=zeros(1,256);  %a为一个1行,256列的全0矩阵
b=zeros(1,256);
c=zeros(1,256);

for i=1:m     %从行开始
    for j=1:n  %每一行的列
        a(f(i,j,1)+1)=a(f(i,j,1)+1)+1;  %f(i,j,1)是红色通道的值,这个值有0-255的取值,a数组正好是容量256的数组,数组的下标范围是1开始的,所以要加1

    end

end

for i=1:m
    for j=1:n
        b(f(i,j,2)+1)=b(f(i,j,2)+1)+1;%G通道
    end
end

for i=1:m
    for j=1:n
        c(f(i,j,3)+1)=c(f(i,j,3)+1)+1;%B通道
    end
end

figure(2),bar(a);
title('红色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')

figure(3),bar(b);
title('绿色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')

figure(4),bar(c);
title('蓝色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')

阅读(1723) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~