首页 > 移动平台 > 详细

Android Kotlin opencv MatOfPoint 转 MatOfPoint2f 报错踩坑 (解决)

时间:2020-05-30 10:52:39      阅读:83      评论:0      收藏:0      [点我收藏+]
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不再报错, 手上没有设备, 未测试.

Android Kotlin opencv MatOfPoint 转 MatOfPoint2f 报错踩坑 (解决)

原文:https://www.cnblogs.com/HoD7/p/12991114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!