c++ - Two situations regarding Declaring / Releasing IplImages -


i care lot memory in project. has crashed before due memory leak. i'm thinking of 2 approaches:

  • declaring different iplimages once in main project part.
  • declaring everytime need declare iplimage , release when don't need anymore.

supposing i'm having realtime project, , thus, iplimages overwritten generate new ones, , using following lines declaration / release:

iplimage*image=cvcreateimage(cvsize(640, 480), ipl_depth_8u, 1); cvreleaseimage(&image); 

what best way optimize use of memory?

you can have 1 iplimage pointer, use cvcreateimageheader fill header , cvsetdata fill image data buffer every time. @ end can use cvreleaseimageheader release it.

iplimage *m_img_show = null; cvsize cv_img_size = cvsize(m_width,m_height); m_img_show = cvcreateimageheader(cv_img_size, ipl_depth_8u,3); 

use every time fill image m_pbuffer.

cvsetdata(m_img_show, m_pbuffer, m_width*3); 

at end release header , image data buffer

cvreleaseimageheader(&m_img_show); 

Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -