图像处理基础一(MATLAB编程)

一、图像灰度直方图

  1. 随机生成矩阵,统计其灰度直方图
    f=rand(100,100);
    g=round(255*f); %%round四舍五入到最近的数。Matlab取整函数有: fix, floor, ceil, round.的区别。链接:http://www.cnblogs.com/york-hust/p/3238714.html
    h=zeros(1,256); %%%zeros(256)生成256x256矩阵
    for i=1:100
    for j=1:100
    a=g(i,j);
    h(a+1)=h(a+1)+1;%%记录每个灰度值的像素数
    end
    end
    x=0:255;
    y=h;
    subplot(121);imshow(f); %%subplot将窗口分为1x2两个窗口,现在在第一个小窗口绘图
    subplot(122);bar(h); %%subplot(122)=subplot(1,2,2)
    图像处理基础一(MATLAB编程)

  2. 灰度图生成灰度直方图
    I=imread(‘C:/Users/Lisa-Liu/Desktop/test1.jpg’);
    I=rgb2gray(I);%%灰度化
    row=size(I,1);
    column=size(I,2);
    N=zeros(1,256);%%zeros(256)生成256x256矩阵
    for i=1:row
    for j=1:column
    k=I(i,j);
    N(k+1)=(N(k+1)+1);%%记录每个灰度值的像素数
    end
    end
    figure;
    xlabel(‘灰度值’);
    ylabel(‘出现次数’);
    subplot(121);imshow(I);%%subplot将窗口分为1x2两个窗口,现在在第一个小窗口绘图
    subplot(1,2,2);bar(N);%%subplot(122)=subplot(1,2,2)
    %bar函数绘制直方图,为N中每一行的每一个元素绘制一个条
    图像处理基础一(MATLAB编程)

上一篇:【LeetCode】414. 第三大的数


下一篇:414天前,我以为这是编程玄学...