2016-07-02 6 views
0

한 번 표시되는 50x50 단일 채널 매트릭스를 만들어서 Mat 클래스 기능을 검정하려고합니다. 는 운영 체제에서 신호를 수신하기 때문에 열등가 중지 오류 OpenCV 매트로 인해 SIGABRT가 발생합니다.

cv::Mat projImg = cv::Mat::zeros(50, 50, CV_8U); 
cv::namedWindow("Test"); 
cv::imshow("Test", projImg); 

: 불행히도, 내 프로그램은 다음과 같은 코드의 라인 3에서 충돌합니다. 신호명 : SIGABRT. 이 코드는 매우 간단하기 때문에 이것은 매우 이상합니다.

Qt 4.0.2에서 우분투 16.04 64 비트를 실행 중입니다.

n.b. 나는 projImg는 일반 이미지

cv::Mat projImg = cv::imread("/home/is/Downloads/test.jpg"); 

답변

0

당신의 기본 OpenCV 기능에 결함이있는 것 같지는 않다으로 설정되어있는 경우에도 같은 오류가 발생합니다. 따라서 OpenCVQt을 지원하도록 구성되지 않은 경우 일 수 있습니다.
체크리스트 :

  1. 핵심 OpenCV 도구가 잘 작동하는지 확인하기 위해 모든 highgui 방법을 제거합니다. namedWindowimshowimwrite으로 바꿀 수 있습니다.
  2. OpenCV 빌드 과정을 다시 확인하고 특정 Qt 옵션을 찾습니다. CMake을 사용하는 경우 With Qt 토글 및 관련 Qt 경로를 찾습니다.
+0

지금까지 시도한 모든 opencv 기능은 잘 작동합니다 (예 : imread, imwrite, cvtColor와 같은 변환 등). 분명히 imshow에만 문제가 있습니다. 내 OpenCV 빌드 절차에 관해서는 Qt 웹 사이트 https://wiki.qt.io/OpenCV_with_Qt에 제시된 지침을 따라했습니다. – Izzy88

관련 문제