Opencv plus unity(资产商店插件)

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

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

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

def to_python(self,value):
    if value in self.empty_values:
        return None
    value = value.strip()
    for _format in self.input_formats:
        try:
            return self.strptime(value,_format)
        except (ValueError,TypeError):
            continue
    raise forms.ValidationError(self.error_messages["invalid"],code="invalid")
sxdtzzf 回答:Opencv plus unity(资产商店插件)

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

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

,

@Louis Garczynski下面是格式化的代码

    Point[][] contours;
    Point[]  hull;
   for (int i = 0; i < contours.Length; i++)
    {
      hull = Cv2.ConvexHull(contours[i],false);
      for (int k = 0; k < hull.Length; k++) 
        {
             Debug.Log("jihjib" + hull[k]); 
            defects = Cv2.ConvexityDefects(contours[i],InputArray.Create(hull) ); 
        }
    }
本文链接:https://www.f2er.com/3166606.html

大家都在问