概述
前一篇的代码在执行时,java.exe占用内存会快速上涨:
在4G内存电脑上,单个连接,会持续上涨到2G多,然后减到1G多,如此循环。
经过一些删减定位,可以确定问题由public byte[] process(byte data[])函数导致。
进一步分析,至少IplImage的使用是一个问题:
IplImage originalImage = cvDecodeImage(opencv_core.cvMat(1, data.length, CV_8UC1, new BytePointer(data))); Mat videoMat = new Mat(originalImage);
这里,IplImage主要是作为从byte[]转换为Mat时的过渡,修改为:
Mat videoMat = imdecode(new Mat(opencv_core.cvMat(1, data.length, CV_8UC1, new BytePointer(data))), 1);
修改之后,内存仍然会持续上涨,但速度很慢。可能还有其他的问题,后续继续处理。
转载于:https://www.cnblogs.com/husthzy/p/5673032.html
最后
以上就是大方香氛为你收集整理的利用html5、websocket和opencv实现人脸检测 (二)的全部内容,希望文章能够帮你解决利用html5、websocket和opencv实现人脸检测 (二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复