c# - 通过X和Y从数组中查找点的索引

标签 c# opencv

我在数组中查找/索取点有问题。当我想找到最接近基准点(0,0)的点时:

CvPoint2D32f[] corners;
...
Cv.FindChessboardCorners(...)
...
int min = Array.IndexOf(corners, corners.Min(p => p.X + p.Y));

并且我试图显示该点的索引-我在textBox上获得“-1”值,就像该数组为空。

实际上不是,因为我可以输入以下内容显示其中的一个元素:
this.textBox1.Text = Convert.ToString(corners[0]);

我进入textBox:
CvPoint2D32f (x:179,143 y:60,15205)

最佳答案

您找不到它,因为Min在此实例而非对象中返回总和,因此返回-1。

您将不得不自己遍历它...

private int IndexOfMinPoint(CvPoint3D32f[] points) {
    int lowestValue = points[0].x + points[0].y;
    int lowestValueIndex = 0;

    for (int i = 1; i < points.length; i++) {

        int newLowestValue = points[i].x + points[i].y;

        if ( newLowestValue < lowestValue) {
             lowestValue = newLowestValue;
             lowestValueIndex = i;
        }

    }

    return lowestValueIndex;    
}

关于c# - 通过X和Y从数组中查找点的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22268500/

相关文章:

c# - Wpf DataGrid 重复列

python - 在 Python OpenCV 4.2.0(2020 年)中使用 SIFT(或替代方法)

opencv - 创建 ROS 工作空间时,没有规则创建目标 libopencv_calib3d.so.3.2.0,但安装了 opencv 3.4.1

opencv - 如何选择全帧(未压缩)作为 VideoWriter 的编解码器

c# - WCF 服务器接受 TLS 1.0 连接

c# - iText 7 - HTML 到 PDF 写入 MemoryStream 而不是文件

c# - 如何使用EMGU或OpenCv获取图片区域中的直方图?

c++ - OOP - 使用静态方法有什么缺点吗?

c# - 如何以编程方式创建系统还原点?

c# - 将 StringBuilder 传递给 PInvoke 函数