diff --git a/opencv/cvaux.go b/opencv/cvaux.go index 5b9ec55..55e9eb5 100644 --- a/opencv/cvaux.go +++ b/opencv/cvaux.go @@ -69,9 +69,18 @@ func (this *HaarCascade) DetectObjects(image *IplImage) []*Rect { rect := (*Rect)((*_Ctype_CvRect)(unsafe.Pointer(C.cvGetSeqElem(seq, C.int(i))))) faces = append(faces, rect) } + + storage_c := (*C.CvMemStorage)(storage) + C.cvReleaseMemStorage(&storage_c) + return faces } +func (this *HaarCascade) Release() { + cascade_c := (*C.CvHaarClassifierCascade)(this.cascade) + C.cvReleaseHaarClassifierCascade(&cascade_c) +} + /****************************************************************************************\ * 3D Tracker * \****************************************************************************************/