如何使用matlab实现统计图像中灰度级的数目

如题所述

可以配合使用函数find和函数length或者函数find和函数length求得。
1、函数find和函数length配合使用获得像素为value的像素个数

1
2
3
4
5
6
7
8

% 读入数据112.bmp是要读入的图像
I = imread('112.bmp');
% 如果为彩色图像需转为灰度图像,否则不需要
I = rgb2gray(I);
% value为要计算的像素值
[r,c]=find(I==value);
% 获得个数
num=length(r);

2、函数find和函数sum配合使用获得像素为value的像素个数

1
2
3
4
5
6

% 读入数据112.bmp是要读入的图像
I = imread('112.bmp');
% 如果为彩色图像需转为灰度图像,否则不需要
I = rgb2gray(I);
% 获得像素值为value的素值个数
num=sum(sum(I==value));
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-10
假设A是图像所代表的矩阵,value为某一灰度值,num为图像A中该灰度值的像素个数,则有:
[r,c]=find(A==value);
num=length(r);
或者
num=sum(sum(A==value));
第2个回答  2019-12-26
用hist或者histogram函数
相似回答