我是靠谱客的博主 大方香氛,最近开发中收集的这篇文章主要介绍利用html5、websocket和opencv实现人脸检测 (二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前一篇的代码在执行时,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实现人脸检测 (二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部