Opencv plus unity(资产商店插件)

问题描述 投票:0回答:1

我需要使用ConvexHull查找“ ConvexityDefects”。到目前为止,下面是使用“ https://assetstore.unity.com/packages/tools/integration/opencv-plus-unity-85928”统一插件的代码

当前,我无法将点数组传递给“ ConvexityDefects”函数,因为它正在接受第二个参数作为整数[],并且无法将点转换为整数数组。

我得到的错误是“错误CS1503:参数2:无法从'OpenCvSharp.Point []'转换为'System.Collections.Generic.IEnumerable'“

          Point[] hull;
          Point[][] contours;
          for (int i = 0; i < contours.Length; i++)
          {


           hull =  Cv2.ConvexHull(contours[i], false);
           defects =  Cv2.ConvexityDefects(contours[i], hull);
               Cv2.DrawContours(frame, new Point[][] { hull }, (int)largestContour, new OpenCvSharp.Scalar(0, 0, 255), 2);
          }
opencv unity3d
1个回答
0
投票

一个点和一个整数是不同的,所以一个点数组和一个整数数组也一样。

OpenCV通常使用InputArray将大量数据传输到GPU。您需要使用其Create方法和您选择的轮廓数组来创建输入数组。如果您想优化代码,则可能希望对每个轮廓重复使用相同的数组,但这取决于您。

© www.soinside.com 2019 - 2024. All rights reserved.