2013-07-28 4 views
0

OpenCV가있는 창에 이미지를로드하려고하지만 계속 중단 점이 계속 Imshow에 있습니다. 튜토리얼을 따라 갔던 코드는 다음과 같습니다.이미지로드 Opencv

 namedWindow("result", CV_WINDOW_AUTOSIZE); 

    Mat image ; 
    // image = imread("Particle", 1); 
    String inputName; 

    for(int i = 1; i < argc; i++) 
    { 
     inputName.assign(argv[i]); 
    } 
    if(inputName.empty() || (isdigit(inputName.c_str()[0]) && inputName.c_str()[1] == '\0')) 
    { 
     if(inputName.size()) 
     { 
      image = imread("Particle.png", 1); 
     } 
     else 
     { 
      if(image.empty()) cout << "Couldn't read image" << endl; 
     } 
     imshow("result",image); 

} 
+0

"중단 점"과 함께 제공되는 메시지는 무엇입니까? "이미지를 읽을 수 없음"상태가 되었습니까? 그렇다면 아마도 imshow가 충돌하는 이유를 설명 할 수 있습니다 ... imshow 줄에 자신의 중단 점을두고 디버그 구성에서 응용 프로그램을 실행 한 다음 변수를 확인합니다. – CTZStef

+0

신호 SIGABRT가 중단 점입니다. 나는 또한 하나의 문자열 imgpath = 점점 ... –

+0

Abort() 일부 내부 오류가 호출됩니다. 프로그램을 디버깅하는 방법을 알고 있습니까? 내 생각 엔 명령 줄에서 프로그램에 올바른 입력을 제공하지 않는 것입니다. – CTZStef

답변

1

오, 친애하는 대신 더 간단한 것을 시도 실제 상황

를 당신 만이 '특별한'가정을 많이 만들고, 그 '튜토리얼'을 발견 아무 생각을 맞게되지 않을 수도 있습니다 그 :

int main(int argc, char **argv) { 
    string imgpath = argv[1]; // call me : prog imgpath [on the cmdline] 
    Mat m = imread(imgpath); 
    imshow("lala", m); 
    waitKey(0); 
}