标签: average

如何计算3D质心?

甚至还有3D质心这样的东西?让我非常清楚 - 我已经在本网站和网络上阅读和阅读过去2天的质心,所以我完全了解该主题的现有帖子,包括维基百科.

那就是说,让我解释一下我要做的事情.基本上,我想选择边和/或顶点,但不是面.然后,我想将一个对象放在3D质心位置.

我会告诉你我不想要的东西:

  • 顶点平均,在任何具有更高细节网格的方向上拉得太远.
  • 边界框中心,因为我已经有了适合这种情况的东西.

我对有关质心的建议持开放态度,但我不知道这是如何工作的,因为顶点或边缘本身并没有定义任何质量,特别是当我选择了一个边缘循环时.

对于踢,我会向你展示我使用@Emile 的代码作为参考的一些PyMEL,但我不认为它的工作方式如下:

from pymel.core import ls, spaceLocator
from pymel.core.datatypes import Vector
from pymel.core.nodetypes import NurbsCurve

def get_centroid(node):
    if not isinstance(node, NurbsCurve):
        raise TypeError("Requires NurbsCurve.")
    centroid = Vector(0, 0, 0)
    signed_area = 0.0
    cvs = node.getCVs(space='world')
    v0 = cvs[len(cvs) - 1]
    for i, cv in enumerate(cvs[:-1]):
        v1 = cv
        a = v0.x * v1.y - v1.x * v0.y
        signed_area += a
        centroid += sum([v0, v1]) * a …
Run Code Online (Sandbox Code Playgroud)

python average maya

8
推荐指数
1
解决办法
5678
查看次数

在C#中计算队列中的指数移动平均线

我有一个简单的类来计算我添加到它的值的移动平均值.我这样使用它:

MovingAverage ma = new MovingAverage();
ma.push(value1);
ma.push(value2);
... 
Console.Writeline(average.Average);

//the class
public class MovingAverage
{
    public int Period = 5;
    private Queue<double> Quotes = new Queue<double>();

    public void Push(double quote)
    {
        if (Quotes.Count == Period)
            Quotes.Dequeue();
        Quotes.Enqueue(quote);

    }
    public void Clear()
    {
        Quotes.Clear();
    }
    public double Average { get { if (Quotes.Count == 0) return 0; return Quotes.Average(); } }
    public double ExponentialMovingAverage
    {
        get
        {
            ???
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想扩展这个类也返回ExponentialMovingAverage.您将如何写入报价中的排队项目的指数平均值?

我意识到你需要在类中添加一个Alpha属性,但我不确定如何完成计算的数学运算.

c# average

8
推荐指数
3
解决办法
1万
查看次数

平均numpy阵列但保持形状

我有一个Numpy 3轴阵列,其元素是3维的.我想平均它们并返回相同形状的数组.正常平均函数删除3个维度并将其替换为平均值(如预期的那样):

a = np.array([[[0.1, 0.2, 0.3], [0.2, 0.3, 0.4]],
              [[0.4, 0.4, 0.4], [0.7, 0.6, 0.8]]], np.float32)

b = np.average(a, axis=2)
# b = [[0.2, 0.3],
#      [0.4, 0.7]]
Run Code Online (Sandbox Code Playgroud)

结果要求:

# b = [[[0.2, 0.2, 0.2], [0.3, 0.3, 0.3]],
#      [[0.4, 0.4, 0.4], [0.7, 0.7, 0.7]]]
Run Code Online (Sandbox Code Playgroud)

你能优雅地做到这一点,还是只需要在Python中迭代数组(与强大的Numpy函数相比,它会慢得多).

你能否为np.mean函数将Dtype参数设置为1D数组?

谢谢.

python numpy average shape multidimensional-array

8
推荐指数
3
解决办法
3679
查看次数

我如何使用opencv获取100个图像的平均值?

我有100个图像,每个是598*598像素,我想通过取像素的平均值去除图形和噪声,但如果我想使用"逐像素"添加,那么分割i将写入一个循环,直到一个图像重复596*598,一百个图像重复598*598*100.

有没有办法帮助我进行这项操作?

c++ opencv average add

8
推荐指数
1
解决办法
6886
查看次数

给定一个字节数组,如何创建一个字节,其中每个位都包含输入中该位置位的众数(平均值)值?

我正在尝试找出快速简便的方法来查找字节数组中每个位的模式(“平均值”)。

这是我正在寻找的示例:

Byte 1  1010 1010
Byte 2  0101 0101
Byte n  1010 1000
Run Code Online (Sandbox Code Playgroud)
Result  1010 1000
Run Code Online (Sandbox Code Playgroud)

因此,如果位位置主要包含 1,则答案中的位位置为 1。如果位位置主要包含 0,则答案为 0。如果 1 和 0 出现次数相同,那么我不在乎放入什么值在答案中的那个位置。

对于我的用例来说,输入数量的数量级很小(大约 10 到 20 个输入),但欢迎讨论您的方法的性能,因为它随输入数量而扩展。

我可以手动对每个 1 和每个 0 进行计数并以这种方式计算出来,但我希望有一种更优雅且可能更快的方法来完成它。

c++ bit-manipulation average

8
推荐指数
1
解决办法
341
查看次数

邻居平均值数组

func计算n-1大小数组的后续元素的平均值的函数是什么n(即窗口宽度为 2 的移动平均值)?

func(numpy.array([1,2,3,4,5]))
# return numpy.array([1.5, 2.5, 3.5, 4.5])
Run Code Online (Sandbox Code Playgroud)

numpy average

7
推荐指数
1
解决办法
5985
查看次数

如何操作数组.找到平均值.初学者Java

我有一个家庭作业,我想知道是否有人可以帮助我,因为我不熟悉Java和编程,而且我遇到了问题.问题是:

第一种方法查找整数数组的元素的平均值:

public double average(int[] data)
Run Code Online (Sandbox Code Playgroud)

也就是说,给定一个整数数组,数据,计算其元素的平均值是否返回平均值.例如,{1,3,2,5,8}的平均值为3.8.

这是我到目前为止所做的:

public double average(int[] data) {  
    int sum = 0;

    while(int i=0; i < data.length; i++) 

    sum = sum + data[i]; 
    double average = sum / data.length;; 

    System.out.println("Average value of array element is " " + average);
}
Run Code Online (Sandbox Code Playgroud)

在编译时,我在int i=0".class expected"部分收到错误消息.任何帮助,将不胜感激.

java arrays double average

7
推荐指数
3
解决办法
12万
查看次数

找到sql中两个组合列的平均值

我想找到总共两列的平均值.我想计算col1的总数和col2的总数然后找到平均值(它们所处的行数).

我已经设法在这个sqlfiddle中找到了解决方案(也见下文)这是最好的方法吗?我最初认为我需要使用avg函数,但无法使用它.

    CREATE TABLE test (
        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        uid INT,
        col1 INT,
        col2 INT
    ) DEFAULT CHARACTER SET utf8 ENGINE=InnoDB;

    INSERT INTO test (id, uid, col1, col2) VALUES
    (1,5,8,12),
    (2,1,2,3),
    (3,1,2,33),
    (4,5,25,50),
    (5,5,22,3);

    (
    SELECT ((sum(col1) + sum(col2))/count(*))
    FROM test
      WHERE uid=5
    )
Run Code Online (Sandbox Code Playgroud)

mysql sql average count

7
推荐指数
1
解决办法
3万
查看次数

如何实时查找OpenCV轮廓的平均强度

我的图像有大约50到100个小轮廓.我希望实时找到每个轮廓的平均强度[1] [2].我能想到的一些方法是

  1. 为每个轮廓绘制带有FILLED选项的轮廓; 使用每个图像作为原始图像上的掩模,从而找到平均值.但我认为这种方法乍一看不是实时的.

  2. drawContour使用FILLED选项研究OpenCV 函数的实现,并以相同的方式访问轮廓包围的像素.但代码看起来非常复杂,不容易理解.

  3. 计算最小面积矩形,使用变换找到矩形内的所有点,并找到非零点的平均值.再次,似乎是复杂的方法.

有没有更简单有效的方法来做到这一点?

[1]每个非重叠轮廓所包围的所有像素强度的平均值

[2]在2.66 Ghz台式PC上每秒约25,(960 x 480)像素图像

c++ opencv average real-time contour

7
推荐指数
1
解决办法
9611
查看次数

MySQL:计算按列分组的值的中位数

我有下表:

+------------+-------+
| SchoolName | Marks |
+------------+-------+
| A          |    71 |
| A          |    71 |
| A          |    71 |
| B          |   254 |
| B          |   135 |
| B          |   453 |
| B          |   153 |
| C          |   453 |
| C          |   344 |
| C          |   223 |
| B          |   453 |
| D          |   300 |
| D          |   167 |
+------------+-------+
Run Code Online (Sandbox Code Playgroud)

这是按学校名称分组的平均分:

+------------+------------+
| SchoolName | avg(Marks) …
Run Code Online (Sandbox Code Playgroud)

mysql sql average median window-functions

7
推荐指数
1
解决办法
3868
查看次数