利用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);

 

修改之后,內存仍然會持續上漲,但速度很慢。可能還有其他的問題,后續繼續處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM