안녕하세요?
먼저 질문글만 올려서 죄송합니다 ㅠㅠ
영상처리 관련 작업을 하는 도중에 결과가 제대로 나오고 출력도 제대로 되는데
결과가 제대로 뜨고나서 프로그램이(해당 함수) 끝나는 지점에서 아래와 같이
작동이 중지가 됩니다.
디버그를 해보면 아래와 같이 힙 영역 문제라고 뜨는데요. 메모리 문제인 것 같습니다.
IplImage *extract = cvCreateImage(cvSize(ROI->roi->width, ROI->roi->height), IPL_DEPTH_8U, 3);
int *cnt_x = new int[extract->height];
int *cnt_y = new int[extract->width];
int *ext_x = new int[(extract->width)/4];
int *ext_y = new int[(extract->width)/4];
메모리 선언부는 위와 같구요...
함수 마지막부분에 delete [] 와 cvReleaseImage를 통해 메모리를 해제 해주고 있습니다.
특이한 점이 어떤 이미지는 작동이 중지되지 않고 제대로 프로그램이 종료가 되는데
특정 이미지에서만 첫번째 사진과 같이 작동이 중지된다는 점 입니다.
제 짧은 지식으로 구글링을 해본 결과 동적할당 부분인 new를 하는 부분에서 문제가 생긴다는 점과
DLL 과 EXE의 힙 영역이 서로 다르기 때문에 발생하는 문제라고 하는데... 해결 방법에 관한 내용을 제가 적용하기에는 너무 벅차더라구요...
메모리 관련 문제인 것은 대충 알 것 같은데, 어떤 방법으로 해결할 수 있을까요??