내가 세그먼트 문자 이미지에이 기능을 사용하지만, 프로그램 crach, somone에 발견 솔루션 제발 도와 드릴까요?OpenCV의 문자 무효 분할
답변
당신은 충돌의 원인이되는 선을 정확히 파악할 필요가있다. 이를 위해 저는 두 가지 방법으로 생각할 수 있습니다 :
- 디버거를 사용하십시오.
- 또는 당신이 두려워하는 경우,
printf()
방법을 사용하십시오
printf()
방법은 당신이 당신의 응용 프로그램을 실행할 때 그래서 당신은 콘솔에서 볼 수, 프로그램의 각 함수 호출 후 printf()
전화를 걸 포함 마지막으로 printf()
메시지가 무엇입니까? 그러면 충돌을 일으키는 코드를 찾는 데 도움이됩니다. 예 : 나는 당신의 코드에서 본 것을에서
printf("dbg10\n");
IplImage *img_cv = cvLoadImage("plaque.jpg");
printf("dbg20\n");
cvSetImageROI(img_cv,cvRect(8,10,60,35));
printf("dbg30\n");
IplImage *img_pl = cvCreateImage(cvGetSize(img_cv),img_cv->depth,img_cv->nChannels);
printf("dbg40\n");
cvCopy(img_cv,img_pl, NULL);
printf("dbg50\n");
cvResetImageROI(img_cv);
printf("dbg60\n");
//etc
, 처음 2 호출 응용 프로그램 충돌 할 가능성이 : cvLoadImage()
이미지를로드 할 수없는 경우는 NULL 포인터를 반환합니다. 다음 함수는 매개 변수로 포인터를 수신하기 때문에, 널 포인터 역 참조 시도하고 그 충돌이 있습니다. 해결책?
IplImage *img_cv = cvLoadImage("plaque.jpg");
if (!img_cv)
{
printf("Failed to load image.\n");
exit(1);
}
cvSetImageROI(img_cv,cvRect(8,10,60,35));
는 난의 printf()의 추가로 시도하지만 그것이 – Butterflay
의 printf 호출은 단지 당신에게 충돌, 그것은 문제가 해결되지 않습니다 일어나고있는 곳의 힌트를주고 crach!로는 확인하지 않습니다. – karlphillip
당신이 디버그 모드에서 실행하고 충돌하는 라인 말씀해주세요 : 항상 당신이하게 통화의 괴물 수익을 확인? 어떤 OS와 컴파일러를 사용하고 있습니까? – dannyxyz22
은 내가 컴파일 된 Qt Creator를 사용하지만, 난 그냥 다섯 첫 선을하려고 할 때 그것이 SetImageROI을 실행하기 때문에 내가 컴파일 문제가 없습니다 생각하지만, 내가 CvFindContours의 코드를 추가 할 때 그것은 crach, 그래서 내가 문제가 있다고 생각 윤곽 – Butterflay
이 질문에 성공적으로 응답 한 경우의 코드에서, 근처에있는 체크 박스를 클릭하여 공식적인 답변을 선택하는 것이 좋습니다. 그렇지 않은 경우 직접 답변을 추가하는 것을 고려해보십시오. – karlphillip