matlab 如何计算一幅图像中某一灰度值的像素个数
5个回答
展开全部
可以配合使用函数find和函数length或者函数find和函数length求得。
1、函数find和函数length配合使用获得像素为value的像素个数
% 读入数据112.bmp是要读入的图像
I = imread('112.bmp');
% 如果为彩色图像需转为灰度图像,否则不需要
I = rgb2gray(I);
% value为要计算的像素值
[r,c]=find(I==value);
% 获得个数
num=length(r);
2、函数find和函数sum配合使用获得像素为value的像素个数
% 读入数据112.bmp是要读入的图像
I = imread('112.bmp');
% 如果为彩色图像需转为灰度图像,否则不需要
I = rgb2gray(I);
% 获得像素值为value的素值个数
num=sum(sum(I==value));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function
greyvalue
=
calcrowgrey(pic)
%备注:输入值为读取文件后的图像数据,可以是m行
n列
或者是[m*n*3]
(彩色图片)
%
直接计算灰度值,如果是黑白图像,计算结束
greyvalue
=
sum(greyvalue
,2);
%判断如果是彩色图像
if
length(size(greyvalue
)>2
greyvalue
=
sum(greyvalue
,3);
end
greyvalue
=
calcrowgrey(pic)
%备注:输入值为读取文件后的图像数据,可以是m行
n列
或者是[m*n*3]
(彩色图片)
%
直接计算灰度值,如果是黑白图像,计算结束
greyvalue
=
sum(greyvalue
,2);
%判断如果是彩色图像
if
length(size(greyvalue
)>2
greyvalue
=
sum(greyvalue
,3);
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设A是图像所代表的矩阵,value为某一灰度值,num为图像A中该灰度值的像素个数,则有:
[r,c]=find(A==value);
num=length(r);
或者
num=sum(sum(A==value));
[r,c]=find(A==value);
num=length(r);
或者
num=sum(sum(A==value));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很容易。
首先用imread函数把图像读进矩阵中,
然后用一个循环语句,比较像素值,如果值相同,计数器(例如使用变量num)增加1.灰度是三个色素:红绿蓝三个分量的平均值 。
首先用imread函数把图像读进矩阵中,
然后用一个循环语句,比较像素值,如果值相同,计数器(例如使用变量num)增加1.灰度是三个色素:红绿蓝三个分量的平均值 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询