Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

OpenCV Error: Assertion failed (src.type() == CV_8UC1) in cv::findNonZero?

I have the following code snippet which fails at the line where I call cv::findNonZero(... I dont know why, I did manual conversion on cmprResult and the type is still unchanged, which is type 16 according to the cout<<

    cv::Mat cmprResult = cv::Mat::zeros(xrayImg.size(),CV_8U);
    std::vector<cv::Point> pointsZeroXray;
    cv::compare(xrayImg, 0, cmprResult, cv::CMP_EQ);
    cv::compare(cmprResult, 10, cmprResult, cv::CMP_LT);

    std::cout << "ompare Result " << cmprResult << std::endl;
    std::cout << "type " << cmprResult.type() <<std::endl;
    //cmprResult.convertTo(cmprResult, CV_8UC1);

    cv::findNonZero(cmprResult, pointsZeroXray);
    std::cout << "nonzero after" << pointsZeroXray << std::endl;
    std::cout << "finished comparing xray" << std::endl;

OpenCV Error: Assertion failed (src.type() == CV_8UC1) in cv::findNonZero?

I have the following code snippet which fails at the line where I call cv::findNonZero(... I dont know why, I did manual conversion on cmprResult and the type is still unchanged, which is type 16 according to the cout<<

    cv::Mat cmprResult = cv::Mat::zeros(xrayImg.size(),CV_8U);
    std::vector<cv::Point> pointsZeroXray;
    cv::compare(xrayImg, 0, cmprResult, cv::CMP_EQ);
    cv::compare(cmprResult, 10, cmprResult, cv::CMP_LT);

    std::cout << "ompare Result " << cmprResult << std::endl;
    std::cout << "type " << cmprResult.type() <<std::endl;
    //cmprResult.convertTo(cmprResult, cmprResult.convertTo(cmprResult, CV_8UC1);

    cv::findNonZero(cmprResult, pointsZeroXray);
    std::cout << "nonzero after" << pointsZeroXray << std::endl;
    std::cout << "finished comparing xray" << std::endl;