如何计算像素的数量在一个区域

68(30天)
玛卡瑞娜Santillan
玛卡瑞娜Santillan 2021年5月15日
评论道: 图像分析 2021年5月18日
你好,
我有这张照片,我要做的是计算像素的数量在一个圆形区域。我试着选择ROI交互式地,现在我有一个蒙面的成像,周围都是黑色的我感兴趣,我仍然不知道如何找到像素的数量。我认为如果我选择该地区能够只使用元素个数函数得到的像素数量,但它返回整个图像的像素的数量,这是相同数量的像素的原始图像……
我这里显示,周围是一圈的原始图像(在油漆,因为它太复杂与matlab展示我所做的,这不是让我上传多个图片)
我花了几个小时,阅读所有关于分割的文章,ROI,像素等并没有什么帮助…谁能告诉我正确的方向吗?我觉得这是一项简单的任务,但是没有有用的信息关于它的任何地方。
另一个问题……我的形象有二进制或灰度做这些分析?我的图像是一个tif正本,但是我转换成二进制根据我读一些文章。
谢谢!

答案(2)

图像分析
图像分析 2021年5月15日
有两种方法(至少)。因为你有一个二进制图像,周围是黑色/ 0 /假你的圈子,和白色/ 1 /真正的在你的圆形ROI,你能做到的
area1 = bwarea(面具)%计算“分数”像素根据一个算法。
area2 = nnz(面具);%计算整个(整数)像素
%使用Regionprops
道具= regionprops(面具,“区域”);
面积= props.Area;%计算整个(整数)像素。
只要你的代码做了很好的注释和描述性的变量名,我怀疑它太复杂了 (至少)。
你可以连接多个图片但你必须插入一个图像。单击图片图标,选择一幅画。然后再点击插入第二幅。
5个评论
图像分析
图像分析 2021年5月18日
可以使用nnz()我给你,
numPixels = nnz (grayImage);
或者你可以做到你提出更复杂的方式
numPixels =元素个数(grayImage)和(sum (grayImage = = 0));

登录置评。


为副总经理
为副总经理 2021年5月15日
编辑:为副总经理 2021年5月15日
除了图像分析的方法建议,我想如果你使用圆roi还有另一种可能的对象。
一个= imread (“cameraman.tif”);
imshow(一个);
c = drawcircle ();%创建一个圆roi对象作为一个例子
%如果roi对象的确是一个圆,你能做的
a1 =π* c.Radius ^ 2
7评论
为副总经理
为副总经理 2021年5月17日
你可以放大图片,然后发出drawcircle()命令当你都准备好了。如果你想做这样的一个脚本,您可以使用一个输入()调用停止脚本,直到你准备继续。类似的
一个= imread (“cameraman.tif”);
imshow(一个);
输入(放大图像和回车当你准备好了);
c = drawcircle ();

登录置评。

标签

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!