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 imhistedit 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中如何求一个图像的灰度级的主要内容,如果未能解决你的问题,请参考以下文章