ilovewqf 2020-05-30
val contours:MutableList<MatOfPoint> = ArrayList() val contours2f:MutableList<MatOfPoint2f> = ArrayList() for (point in contours){ contours2f.add(MatOfPoint2f(point.toArray())) } // 无法通过编译, 传入参数类型不匹配
查看 opencv 中 MatOfPoint2f 的构造函数
<init>(vararg Point!) defined in org.opencv.core.MatOfPoint2f
<init>(Long) defined in org.opencv.core.MatOfPoint2f
<init>(Mat!) defined in org.opencv.core.MatOfPoint2f
发现(Point...a)被转为了(vararg Point!)
经过查资料后改为
val contours:MutableList<MatOfPoint> = ArrayList() val contours2f:MutableList<MatOfPoint2f> = ArrayList() for (point in contours){ contours2f.add(MatOfPoint2f(*point.toArray())) // 这里多了个* }
IDE不再报错, 手上没有设备, 未测试.