菜鸟的OpenCV日记

来源:互联网 发布:虎嗅商学院源码 编辑:程序博客网 时间:2024/04/28 23:37

最近在做学校科技竞赛的一个项目,需要在安卓上使用OpenCV。笔者没有系统地学习过JAVA和Android,所以基本是边写代码边学,摸石头过河,也因此遇到了不少麻烦。在此将其记录下来以供参考。

2013.5.15

前天修改了一下之前的一个通过Blob来识别视频中的物体的程序,提取出色块后,通过Imgproc.findContours找出色块的边界,再经过筛选,将符合条件的边界放入一个List<MatOfPoint> contours中,在这过程中用到了一个临时的MatOfPoint,记为selectedContour。笔者认为,该变量在使用完毕后若不release掉,会占用大量内存,因为每获得一帧视频就要产生一个新的MatOfPoint,而且在C++中将一个变量添加到list里后,会重新开辟一段内存来存放这个变量,于是应在使用完后将其释放掉。哪知道这样以后,想要使用contours就出现问题了。经过2天的研究,笔者夹杂着表白被拒后的悲痛,总算发现在JAVA里往List中添加某个变量时,相当于添加了指向该变量的指针,而不是创建一个新的变量并把原变量的值传递给该变量。如果将原变量release掉,当然会出问题了。


2013.5.23

1.无论Mat中各像素是何类型的,均可用double进行传递

原创粉丝点击