i have this code in java and memory in ram almost explodes in just a few seconds. I release the IplImage "imagensMedia ". Why??
EDIT: This function runs many times per second
int largura=1280;
int altura=800;
IplImage[] imagens = new IplImage[5];
IplImage imagensSoma=cvCreateImage(cvSize(largura,altura), 32, 3);
int indiceImagem=0;
for(x=0; x<imagens.length;x++)
imagens[x]=cvCreateImage(cvSize(largura,altura), 8, 3);
public void imageArrayBuilder() //Constroi Array de Imagens e a Sua Media
{
int z;
IplImage imagensMedia =cvCreateImage(cvSize(largura,altura), 8, 3);
cam.read();
opencv.copy(cam.get());
if(imagemTotalFlag)
{
cvSub(imagensSoma,imagens[indiceImagem],imagensSoma, null);
cvAcc(opencv.Buffer, imagensSoma, null);
cvConvertScale(imagensSoma, imagensMedia, 1.0/imagens.length,0);
cvCopy(opencv.Buffer,imagens[indiceImagem],null);
indiceImagem++;
if(indiceImagem==imagens.length)
indiceImagem=0;
opencv.copy(imagensMedia);
}
else
{
if(indiceImagem<imagens.length)
{
cvCopy(opencv.Buffer,imagens[indiceImagem],null);
indiceImagem++;
if(indiceImagem==imagens.length)
{
imagemTotalFlag=true;
for(z = 0; z < imagens.length; z++)
cvAcc(imagens[z], imagensSoma, null);
cvConvertScale(imagensSoma, imagensMedia, 1.0/imagens.length,0);
indiceImagem=0;
opencv.copy(imagensMedia);
}
}
}
cvReleaseImage(imagensMedia);
}
Someone help me please...