真的是一个疯子 2015-05-04 12:39 采纳率: 0%
浏览 4199

matlab图像灰度直方图显示问题?

代码如下:
f=imread('C_13_Binery.jpg');%读取图像
[m,n,p]=size(f);
a=zeros(1,256);
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;
end
end

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

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

figure(2),bar(a);
title('红色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')
figure(3),bar(b);
title('绿色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')
figure(4),bar(c);
title('蓝色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')
请好心人给个注释,谢谢!!!

  • 写回答

1条回答 默认 最新

  • Trent1985 博客专家认证 2015-05-05 02:48
    关注

    f=imread('C_13_Binery.jpg');%读取图像
    [m,n,p]=size(f);
    a=zeros(1,256);//r分量直方图
    b=zeros(1,256);//g分量直方图
    c=zeros(1,256);//b分量直方图

    for i=1:m
    for j=1:n
    a(f(i,j,1)+1)=a(f(i,j,1)+1)+1;//r分量直方图统计:保存当前像素的灰度值i到对应的统计数组a[i]中,g,b分量也如此
    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

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器