如何计算图像中像素的重心?

时间:2013-09-02 20:43:15

标签: matlab

这是我的作业问题:

按如下方式编写HW3_func.m

  • function [cogR, cogC] = HW3_func ( f, i )
  • f:输入灰度图像
  • i:要检查的强度级别
  • 功能应找到强度为f的{​​{1}}中的所有像素。然后,将这些像素的重心返回为i。重心计算为行的平均值和列的平均值。如果没有[cogR, cogC],则返回pixel == i

我不明白如何计算重心。我所做的是:

  1. 声明与图像具有相同尺寸的矩阵[0,0]。用全零初始化
  2. 在输入图像中找到具有给定强度的像素的位置,并将X中的这些位置替换为X
  3. 我是在正确的道路上吗?

    这就是我现在所拥有的:

    1

1 个答案:

答案 0 :(得分:5)

您可能只想使用find(),例如

[row_indices, col_indices, values] = find(f==i)

正如您所说,CoG坐标只是行和列索引的平均值,您现在可以在两个向量中找到它们。请参阅mean()