当前位置: 首页 > 知识库问答 >
问题:

在像素簇中查找质心

姜建德
2023-03-14

如何计算由像素组成的簇的质心?

我用它们的红色、蓝色和绿色值来表示像素(例如,pixel(116 133 55))。

形心应该是集群中实例的平均值,但是如何计算像素之间的平均值呢?

[我试图计算每种颜色的平均值(质心[“红色”]=总和\红色\像素\值/像素数等),但结果不正确]

如果有帮助的话,我用的是欧几里德距离函数

共有1个答案

能钟展
2023-03-14

sum\u red\u pixel\u值/像素数将给出平均红色强度。如果需要质心,则需要找到所有像素的平均x和y位置,这些像素由像素强度加权。

centroid.x = sum(pixel.red * pixel.x) / sum(pixel.red)
centroid.y = sum(pixel.red * pixel.y) / sum(pixel.red)

其中和在所有像素上。

可以分别计算红、绿、蓝通道,然后求平均值,但如果只需要求平均值,则更有效的方法是先对每个像素的红、绿、蓝通道求平均值(如果需要亮度,可能是加权平均值),然后基于此计算质心。

 类似资料:
  • 从一个图像预处理工具,我得到一个0和1的序列,其中1表示预处理工具已经找到了我要找的东西。在一个理想的世界中,这看起来是这样的: 00000000000000001111111000000000000000000 我现在需要找到1的“中间”位置,即。 00000000000000000001000000000000000000000 这将相当简单(遍历列表,获得到1的转换和到0的转换,并从这两个位

  • 问题内容: 我有一个像下面的数组这样的像素数组,因此我要区分两个1的“组”。计划是在大量相似的像素阵列中执行此操作,因此我需要找到一种方法来有效执行此操作。 也许我可以将所有1位添加到一个单独的数组中,并进行一些搜索以找到连接的位置,但这应该是更好的方法。是否有找到这样的连接组件的算法? 问题答案: 考虑到各组之间永不相互接触,可以使用scipy.ndimage.measurements.labe

  • 问题内容: 我有两个从PIL图像转换的Numpy数组(3维uint8)。 我想查找第一张图像是否包含第二张图像,如果是,则找出匹配的第一张图像内左上像素的坐标。 有没有一种方法可以在Numpy中以足够快的方式完成此操作,而不是使用(4!非常慢)纯Python循环? 2D示例: 怎么做这样的事情? 然后将是。 问题答案: 这可以使用SciPy的公司来完成correlate2d,然后用argmax找到

  • 我很难在hashmap中的字符串数组中找到一个元素。我有一个字符串,它确实在这个String[]里面,但执行以下操作不起作用。 我的目标是在找到值的地方找到我的HashMap的对应键。 以我的地图示例为例: 如果搜索字符串,我希望有一个新的字符串数组,它将是: 我也尝试使用,但没有成功。 我做错了吗?谢谢!

  • 问题内容: 我正在尝试使用Selenium(版本2.28.0)在子元素中搜索元素,但是selenium des似乎并不将其搜索限制在子元素中。我做错了吗,还是有一种方法可以使用element.find搜索子元素? 例如,我使用以下代码创建了一个简单的测试网页: 我的python(2.6版)代码如下所示: 如果我运行: 它从第二部分返回html。因此,selenium的搜索范围并不限于element

  • 我正在尝试搜索带有Selenium(版本2.28.0)的子元素中的一个元素,但是Selenium des似乎没有将其搜索限制在子元素中。是我这样做错了,还是有办法使用Element.find搜索子元素? 对于一个示例,我使用以下代码创建了一个简单的测试网页: 我的python(2.6版)代码如下所示: 如果我跑: 它返回来自第二部分的html。所以硒并不局限于元素2。 我希望能够找到Element