|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 w' I' g r1 t7 ~4 @% Q5 j/ \我是在ARM上运行的,我的测试代码如下:+ F' Q0 X4 U: v2 Y& [7 x0 p
/ v& X* [& U0 v5 j2 [5 O
#include<stdio.h>
) [, A$ j! T+ ~3 S+ `#include <opencv2/opencv.hpp>
& i* ~" @ x: J( a/ ?#include <opencv2/contrib/contrib.hpp>
& U2 r8 U, H6 [1 Y6 k#include <string>
( \; v. g9 d! R2 k- w
, F! [9 P. b5 v- k7 |0 I& v0 _; O: nusing namespace cv;, ]6 ~ U$ w: w; d3 p- |: @
using namespace std;5 N5 k( y5 A* |' {
' r( r7 V9 p& S; g: Q- |int main(int argc ,char* argv[])
( p6 R y# }5 _% S8 o{
7 P5 ?' Z8 y5 y) Evector<Mat> matVec;4 e# q1 h$ Y, k5 ~" B
//Mat tmpMat;
7 D8 B% U0 O. q0 \3 m1 {IplImage* src;' K* a+ l1 `& K& {. S
7 T9 s, y- I# Jfor(int i=0;i<100;++i)6 C: s. ]5 N: g2 P3 X/ W
{
5 b" F% | |5 X/ |, J0 R& ` Mat tmpMat;9 F L+ I& F5 _! I6 \4 B) S
tmpMat.create(cvSize(256,256),CV_8UC1);
) d6 Y: x6 Z E. C for(int j=0;j<256;++j)! [" l& X! `" W3 H& x" b& x
for(int k=0;k<256;++k)7 a6 {& a6 l* u2 `' j3 r# ~; Z
{
; j3 b2 S/ p- [! O t. R tmpMat.at<uchar>(j,k)=(i+j)%255;
% z: B, L/ M6 [& D/ _3 k }
, ~' U4 C5 ^4 h3 n5 H) @- f' w matVec.push_back(tmpMat.clone());, w4 L3 N7 s& w
}' `0 _" v9 u- k) N" S
int index=100;% ^ E! u$ @+ j0 _* y: e* v
system("free");9 [- g/ ~* s( U/ G: X! p
printf("Press any key to stop!");1 T6 ]3 H3 X4 E' J) ~8 O$ ?
getchar();
# D) c& r! D- Dwhile(index>1)6 t8 W( d+ L, Z2 ?* h
{
- e: B+ i9 N) q& c. t/ h m3 X matVec.at(index-1).release();, z5 s6 H) D5 F
--index;+ v, N! i* ~* g r6 ?8 [; w
}0 T3 @4 z+ {( C; O5 `
matVec.clear();6 I; S3 y6 q1 @2 M9 r$ a
vector<Mat>(matVec).swap(matVec);) l g+ v* \# I3 P* R. ^ @
system("free");
1 W; t9 J& j- F* Kprintf("Press any key to stop!");( N% ]) V. f6 @* y. b7 w. F
getchar();
' {- u, W/ H) q/ ^) oreturn 0;
' v+ e U2 q9 x$ z. l2 T
) x8 m: H! d+ s# y. @" ^( e}
9 f" @0 c& k' ^' ?& {" V; E7 m9 O* X6 z! Q
运行效果如下图:
' N2 W9 o# T( D7 i! ]
. t* u! l, a3 }! S
, O+ X( c! e+ }7 {: e5 W2 K( x释放前后,内存并没有太大变化。我感到很困惑,这是什么原因呢? |
|