java - 如何使用带有 Android Studio(kotlin) 的 OpenCV4 删除未解决的参考错误
问题描述
我正在尝试将 java 代码转换为 kotlin。原始 java 代码显示在该页面中(编辑:@OpenCV4Android) android java opencv 2.4 凸包凸缺陷
private fun getConvexHull(contours:ArrayList<MatOfPoint>) {
var hullInt = MatOfInt()
var hullPointList : List<org.opencv.core.Point>? = null
var hullPointMat : MatOfPoint? = null
var hullPoints = ArrayList<MatOfPoint>()
var Image: Bitmap = textureView.getBitmap()
var mROI = Mat()
for(k in 0..contours.size-1){
Imgproc.convexHull(contours.get(k), hullInt)
for(j in 0..hullInt.toList().size-1 ){
hullPointList.add( ////// this line
contours.get(k).toList().get(
hullInt.toList().get(j)))
}
hullPointMat?.fromList(hullPointList)
hullPoints.add(hullPointMat!!)
}
Utils.bitmapToMat(Image,mROI)
Imgproc.drawContours(
mROI,hullPoints,-1,Scalar(255.0,0.0,0.0,255.0),1)
}
在这段代码中,“hullPointList.add”行中出现了“unresolved reference:add”错误。您有任何解决方案来消除此错误吗?谢谢。
解决方案
我自己解决了这个问题。
private fun getConvexHull(contours:ArrayList<MatOfPoint>):ArrayList<MatOfPoint>
{
val hullInt:MatOfInt = MatOfInt()
val hullPointList = mutableListOf<org.opencv.core.Point>() // changed
val hullPointMat = MatOfPoint() // changed
val hullPoints = ArrayList<MatOfPoint>()
var Image: Bitmap = textureView.getBitmap()
var mROI = Mat()
for(eachCont in contours){
Imgproc.convexHull(eachCont, hullInt)
for (eachHull in hullInt.toList())
hullPointList.add(eachCont.toList().get(eachHull))
hullPointMat.fromList(hullPointList)
hullPoints.add(hullPointMat)
}
Utils.bitmapToMat(Image,mROI)
Imgproc.drawContours(mROI,hullPoints,-1,Scalar(255.0,0.0,0.0,255.0),1)
}
推荐阅读
- ruby-on-rails - 在 Rails API 中使用omniauth-google-oauth2
- javascript - 如何从单选按钮中获取价值
- python - IndexError:使用“和”运算符时索引超出范围
- sql - SQL Server 在查询后静默删除事务
- kotlin - 谁能帮助我,如何将fragmnet移动到活动中
- javascript - 单击 sumbit 按钮后无法验证输入字段是否为空
- xcode - 为什么 Clang 和 LLVM 在 Mac OS/Xcode 中给出 math.h 错误
- ios - 在 Xcode 中执行 segue 后如何关闭视图控制器?
- go - 为什么golang go-gin错误总是返回空对象
- php - 在 WordPress 上从 Google 字体添加字体