Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/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);
    OR
    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);

    while(1)
    {
    
        if(!ImageQueue::isEmpty())
        {
             opcvImg = ImageQueue::getQueue(); 
            Mat original(opcvImg, true);
            //Mat original = cvarrToMat(opcvImg);
        }
    }
    

    }@
    What could be the problem?
    Thanks


  • 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":http://sourceforge.net/projects/mingwbuilds/). There are known problems with older versions of GDB which result in the error you've mentioned.


Log in to reply