cv::pyrUp and cv::pryDown undefined symbols in arch armv7

asked 2014-04-24 12:46:28 -0600

Buddhisthead gravatar image

updated 2014-04-24 13:03:10 -0600

berak gravatar image

Hello. I have an iOS application that links against the opencv2.framework downloaded FMWK, which has worked great so far. But after calls to pryUp/Down, I am experiencing linker errors with these undefined symbols as follows:

call site:

    void ContourAnalyzer::canny(cv::Mat& input, cv::Mat& output, Conditions* conditions)
{
    // Scale down image using pyramid reduction by kChop factor
    cv::pyrDown(input, mHalfTmp);
    cv::pyrDown(mHalfTmp, mQuarterGray);

    // OTSU, then binary threshold
    cv::threshold(mQuarterGray, mHalfTmp2, 0, 255.0, cv::THRESH_OTSU | cv::THRESH_BINARY);
    // Morphological reduction of noise, strengthen lines
    cv::Mat element = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(7, 7));
    cv::dilate(mHalfTmp2, mHalfTmp1, element);
    cv::erode(mHalfTmp1, mHalfTmp2, element);
    // Edge detection
    cv::Canny(mHalfTmp2, output, mCannyThreshold1, mCannyThreshold2);
}

I have linked fine in the past, with such functions as threshold, dilate, erode, etc, canny, etc. But adding calls to the pyramid module has yielded the following unresolved errors. Note that I am using version 2.4.8 of the pre-built iOS framework.

   Undefined symbols for architecture armv7:
  "cv::pyrUp(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int> const&)", referenced from:
      ip::ContourAnalyzer::doFullsizeCanny(cv::Mat&) in IPCheckCapture(ContourAnalyzer.o)
  "cv::pyrDown(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int> const&)", referenced from:
      ip::ContourAnalyzer::canny(cv::Mat&, cv::Mat&, ip::Conditions*) in IPCheckCapture(ContourAnalyzer.o)
ld: symbol(s) not found for architecture armv7

Thanks for any help.

edit retag flag offensive close merge delete