这个命令是如何工作的”meanGL =意味着(blackMaskedImage (binaryImage));“。我的输入图像HSV形象。如何计算的意思。
23日视图(30天)
显示旧的评论
答案(2)
图像分析
约13小时前
让我们一步一个脚印。看看这有助于解释它
grayScaleImage =魔法(6)
binaryImage = grayScaleImage > 30
pixelsInMask = grayScaleImage (binaryImage)
%得到像素的均值的面具
meanWithinMask =意味着(pixelsInMask)
你不能做一个三路HSV的形象。你只能做一个频道
5个评论
为副总经理
24分钟前
我不知道为什么你想转换到HSV。你假设的外观形象意味着它是一个HSV形象吗?
这是一个伪彩色图像。从表面上看,这是RGB,但它代表了一个2 d地图的价值观——灰度图像。
问题只是,地图是未知的,比例和单位是未知的。我们可以回答这个问题“我如何找到一个RGB图像的平均亮度”,但如果这是一个伪彩色图像代表一些数量像温度,然后没有足够的信息来回答这个问题“我如何找到平均温度(例如。)”。
这可能有助于了解这张图片意味着什么或如何被创建。
为副总经理
大约8小时前
编辑:为副总经理
约4小时前
这意味着可能不是一个很好的起点。让我们后退一步想想,因为我们可能不会做我们想做的事情。考虑以下屏蔽多通道图像的例子:
%做作MxNx3形象
%清晰的通道的值在不同的范围
inpict =魔法(5)+交换([0 100 200],[1 3 2])
% MxNx1逻辑面具
掩码=逻辑(眼(5))
%选择一些像素点的平均水平
%如果我们天真的一个单通道的面具应用于多通道图像
%,我们只选择第一个频道,什么都没有
selectedpix = inpict(面具)
%如果我们扩大面具匹配图像的深度,我们得到了更多
%但是结果从所有通道是在一列,并将得到平均在一起
numchans =大小(inpict, 3);
selectedpix = inpict (repmat(面具,[1 1 numchans]))
%因此重塑输出
selectedpix =重塑(selectedpix [], 3)
%现在你可以得到平均的元组
avgcolor =意味着(selectedpix, 1)
所以图像的深度和面具确定实际上是被选择和平均。你有多通道图像,无论HSV或RGB。很可能你的面具不是多通道,所以你没有选择你认为你选择。
它的大意,但现在回到细节。你的图像HSV。什么我给工作时寻找算术平均页面的任意三维数组,采取的算术平均值
HSV
图像没有意义,因为它没有意义的算术平均角度。
例如,假设我们有这个形象和掩码:
rgbpict = imread (“peppers.png”);
掩码= imread (“redpepmask.png”)> 128;
%得到选择的像素的面具
numchans =大小(rgbpict, 3);
selectedpix = rgbpict (repmat(面具,[1 1 numchans]));
selectedpix =重塑(selectedpix [], 3);
%现在你可以得到平均的元组
avgRGB =投(意思是(selectedpix, 1),类(rgbpict))
%显示它
imshow(排列(avgRGB [1 3 2]),“边界”,“紧”)
% HSV副本做同样的事情
hsvpict = rgb2hsv (rgbpict);
%得到选择的像素的面具
numchans =大小(hsvpict, 3);
selectedpix = hsvpict (repmat(面具,[1 1 numchans]));
selectedpix =重塑(selectedpix [], 3);
%现在你可以得到平均的元组
avgHSV =投(意思是(selectedpix, 1),类(hsvpict))
avgRGB = im2uint8 (hsv2rgb (avgHSV))%转换为显示uint8-scale RGB
%显示它
imshow(排列(avgRGB [1 3 2]),“边界”,“紧”)
所以我们得到的平均颜色HSV的算术平均数是非常不正确的。这是为什么呢?对于一个解释,看到这个答案:
2的评论
为副总经理
1分钟前
V是HSV模型中的“亮度”组件,但据
可见光
图像而言,V是感知亮度的最糟糕的措施之一,您可以使用。
注意强调可见光。如果这是一个热图像,然后应用colormap的亮度是完全一个工件,不告诉你任何关于底层数据。就像我说的其他评论,它将有助于知道图像是什么意思或者有其他信息来源。
也就是说,如果你想找到给定地区的平均V,您可以简单地独自工作通道。
% MxNx3形象一样
%假装这是我们HSV的形象
hsv =魔法(5)+交换([0 100 200],[1 3 2]);
%只能得到通道的值
V = hsv (:: 3);
%将面具应用于V孤独和得到的平均
meanV =意味着(V(面具))