私はJavaでこのコードを持っており、RAMのメモリはほんの数秒でほとんど爆発します。IplImage「imagensMedia」をリリースします。どうして??
編集:この関数は毎秒何度も実行されます
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);
}
誰か助けてください...