Important: Please read the Qt Code of Conduct -

Unavailable synchronous data

  • Dear All,
    I have OpenCV image, get the image data from the Queue.

    IplImage *opcvImg = cvCreateImage(cvSize(col_size, row_size), IPL_DEPTH_8U,1);
    opcvImg = ImageQueue::getQueue();
    Upto here, in the watch window I can see that opcvImg has all information.

    But when I convert the IplImage* to cv::Mat as
    Mat matData(opcvImg, true);
    Mat matData = cvarrToMat(opcvImg);
    matData in the watch window shows Unavailable syschronous data.

    Let me put in some more information, actually the code runs in a separate thread as follow

    @void processingbyWatershed::run()
    IplImage *opcvImg = cvCreateImage(cvSize(col_size, row_size), IPL_DEPTH_8U,1);

             opcvImg = ImageQueue::getQueue(); 
            Mat original(opcvImg, true);
            //Mat original = cvarrToMat(opcvImg);

    What could be the problem?

  • Moderators

    This does not look like Qt-related problem. You would probably be better off asking this on OpenCV-related forum or mailing list.

  • No, my query is can I have a hint of what are the possible causes of making matData to be Unavailable syschronous data.

  • What version of QtCreator / GCC / GDB are you using?

  • I am using QT Creator 2.4.1

  • Try upgrading to 2.6+ and a recent GDB (as for example distributed with "MinGW-builds": There are known problems with older versions of GDB which result in the error you've mentioned.

Log in to reply