我有以下open-cv互操作代码:
(defn find-significant-contours [edge-img size]
(def contours '())
(def hierarchy (Mat. size cv/CV_8UC1))
(def edge-img-8u (Mat. size cv/CV_8UC1))
(cv/find-contours edge-img-8u contours hierarchy cv/RETR_TREE cv/CHAIN_APPROX_SIMPLE)
)
其中findContours Java函数是:
public static void findContours(Mat image, java.util.List<MatOfPoint> contours, Mat hierarchy, int mode, int method)
但是在执行时(发现有效位数(材料大小cv / CV_32FC1)img-size),我得到了错误:
(UnsupportedOperationException) at
org.opencv.utils.Converters/Mat_to_vector_vector_Point (Converters.java:542).
我认为是因为findCountours要求提供列表,而我却给出了'()。我不知道如何明确给出一个列表。或该错误可能是由于某些其他原因。我在做什么错?
[该异常是从Clojure序列实现中抛出的,它不支持将.add(...)
-inging项本身,因为它是不可变的。
您必须通过List
实现,该实现支持添加项目。例如。 (java.util.ArrayList.)
[该异常是从Clojure序列实现中抛出的,它不支持将.add(...)
-inging项本身,因为它是不可变的。
您必须通过List
实现,该实现支持添加项目。例如。 (java.util.ArrayList.)