matlab中如何求一个图像的灰度级

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中如何求一个图像的灰度级相关的知识,希望对你有一定的参考价值。

matlab中如何求一个图像的灰度级

参考技术A 可以配合使用函数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));
参考技术B imhist本回答被提问者采纳

如何用matlab做图片的灰度直方图

在matlab中对图片制作灰度直方图

参考技术A 或者在 matlab下边输入 help imhist
edit histeq

%%%灰度图象的直方图数据%%%
clc
clear
fn='rice.tif';
I=imread (fn);
J=I;
%计算灰度图象的直方图数据
L=256; %灰度级
Ps = zeros(L,1); %统计直方图结果数据
nk=zeros(L,1);
[row,col]=size(I);
n=row*col; %总像素个数
for i = 1:row
for j = 1:col
num = double(I(i,j))+1; %获取像素点灰度级
nk(num) = nk(num)+1; %统计nk
end
end
%计算直方图概率估计
for i=1:L
Ps(i)=nk(i)/n;
end
figure;
subplot(3,1,1);imshow(J),title('原图');
subplot(3,1,2),plot(nk),title('直方图(nk)');
subplot(3,1,3),plot(Ps),title('直方图(Ps)');

%figure(4),imhist(hist);
%p=imhist(hist); %生成直方图函数,返回灰度图象直方图数据
%figure(5),plot(p);

以上是关于matlab中如何求一个图像的灰度级的主要内容,如果未能解决你的问题,请参考以下文章

matlab 灰度图像矩阵的大小问题(入门级)

matlab灰度图像处理

用matlab怎么实现图像灰度级的量化,也就是灰度级压缩,从256级量化到16级

matlab 彩色图像转化成灰度图像,灰度图像降低灰度级

如何用matlab做图片的灰度直方图

如何使matlab图形的数据提示显示图像灰度颜色而不是其RGB值?