|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! m7 Y+ x( L! F' w8 A( }
我是在ARM上运行的,我的测试代码如下:1 R5 l: L# l* z3 Y7 d# m' l
# o- I3 T2 _: x3 k. S
#include<stdio.h>* G! {% }' G5 R" }' s# o/ q
#include <opencv2/opencv.hpp>
1 F/ _5 b t. ` x0 l#include <opencv2/contrib/contrib.hpp>5 K5 O' d; `8 m: j* A4 d6 L
#include <string>& y, J9 S" M5 d( A; D V
3 z2 S9 d$ f# V3 k( X5 v# j4 Susing namespace cv;
" f! C5 {# g, |5 C9 wusing namespace std;
, F0 v6 Q/ X. c# G* R$ q+ W$ B) n2 T; [: `/ i2 v9 m7 O, \' |
int main(int argc ,char* argv[])
- C' ?0 H' D7 k: R2 B+ Q u+ {{ H, k$ z% f. \ g
vector<Mat> matVec;1 p- I' v& s& n. K$ R) h3 P
//Mat tmpMat;
) x/ @ d: e) P7 u) W4 F: FIplImage* src;' r# g$ q( P5 |3 h) \
3 {) _! u; {. s; Ofor(int i=0;i<100;++i); |/ l3 [+ @. K% U# ^/ U
{
4 V: Y/ ]2 N& A; d ?6 P Mat tmpMat;. {2 j! @4 U- @5 v
tmpMat.create(cvSize(256,256),CV_8UC1);
1 }1 C: H% z, ~+ X& e for(int j=0;j<256;++j)
1 o F4 z4 @: ~6 s" w6 {4 [% U for(int k=0;k<256;++k)6 Y( J' ~. J- n+ x
{! l) r+ X( F* r
tmpMat.at<uchar>(j,k)=(i+j)%255;
% b) h7 n8 h3 z9 u- T }
: P! X- z0 |* V- V matVec.push_back(tmpMat.clone());
* p7 I9 I( L+ ?- [- C}
5 I' e! G/ ^& `7 x* u3 mint index=100;6 F0 t4 G: ]6 _9 J, f
system("free");) w: z/ ^* V2 H1 a# ] d
printf("Press any key to stop!");; F. R2 S- a9 [6 Y- D: ]- j9 ^
getchar();
& V6 N3 O6 y% W8 xwhile(index>1)
# A3 X+ L# \, ?* L' y: G4 d$ \ {
2 M# E0 W0 T/ r, \/ T matVec.at(index-1).release();: D5 h5 Y7 E6 h& Z1 H
--index;
7 j1 `7 v' T( C8 L- p" Q* u }
$ l' \$ b: v$ a0 S; G9 r9 N9 J0 QmatVec.clear();0 [$ T8 Z: k$ x/ o9 h
vector<Mat>(matVec).swap(matVec);
; o z1 n) N( u% ` N' O; H. s1 rsystem("free");
9 X: y; f1 u) H q, x2 M$ } zprintf("Press any key to stop!");8 g6 E( L8 `1 }9 `8 n
getchar();% ]4 w/ f6 g, Q3 U
return 0;; U0 Q s6 I$ a# H
0 g L; L! M1 _}
5 q5 W Q' k8 ^+ |
8 ?1 c% @$ ^9 r! K运行效果如下图:$ N& o& I! W- ?2 m) y9 D8 l0 X
! [. ?# K7 [" Q9 O1 X0 v$ w& l0 z
释放前后,内存并没有太大变化。我感到很困惑,这是什么原因呢? |
|