matlab之图像处理(2)

diagram = imread('lena1.png')
diagram = rgb2gray(diagram);%------------------------------将图片转换为灰度图
N=120
M=100
%     B = roipoly(diagram)
%     [B,c,r] = roipoly(diagram)
%统计图像的直方图
%     h = imhist(diagram)
%     h1 = h(1:10:256)
%     horz = 1:10:256
%     bar(h)
%统计ROI直方图
    c = [122+N 172+N 200+N 170+N 121+N 94+N];
    r = [21+M 21+M 75+M 121+M 121+M 75+M];
%     c = [1 3 3 1 ];
%     r = [1 1 3 3 ];
%     B = roipoly(diagram,c,r);
    figure,imshow(diagram) %显示原图
%     figure, imshow(B)
%统计ROI直方图
%     [p,npix] = histroi(diagram,c,r) %返回值p是直方图数据,npix是ROI中的元素个数
%     figure,bar(p,1)
%被B覆盖的区域的均值和方差,计算ROI图像直方图的统计中心矩。
    [v,unv] = statmoments(p,2) %返回值unv(1)是ROI的均值,unv(2)是ROI的均方差
%空间滤波-中值滤波
%     f1 = medfilt2(diagram,[17,17],'symmetric')
%     figure,imshow(f1)
%空间滤波-自适应空间滤波
    f2 = adpmedian(diagram,57)
    figure,imshow(f2)
%胡椒噪声滤波
%     fp = spfilt(diagram,'chmean',3,3,9)
%     figure,imshow(fp)
%椒盐噪声滤波
    fs = spfilt(diagram,'chmean',5,5,-15)
    figure,imshow(fs)




    

你可能感兴趣的:(matlab)