Android Kotlin opencv MatOfPoint 转 MatOfPoint2f 报错踩坑 (解决)
Posted HoD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Kotlin opencv MatOfPoint 转 MatOfPoint2f 报错踩坑 (解决)相关的知识,希望对你有一定的参考价值。
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 报错踩坑 (解决)的主要内容,如果未能解决你的问题,请参考以下文章
Android OpenCV VideoCapture::retrieve(&mat) 导致致命信号 11
android:如何将 int[] 转换为 OpenCV Mat c++?
将 c++ opencv IplImage imageData 和 widthStep 转换为 android opencv Mat