opencv连续检测行

时间:2017-03-29 11:43:28

标签: opencv

抱歉,我刚刚开始学习opencv几天,而且我没有足够的声誉直接发布图片。我正在尝试检测following image上的行,并按照以下步骤对其执行一些AR内容:

  1. 使用Canny查找边
  2. lineHough edge并找到行。
  3. 通过我得到的线条,我可以通过这样做在墙上展示一些东西 一些透视转换计算
  4. 但是当我做cv :: Canny时,结果就像this。 HoughLinesP基于此给了我18行,但我的预期是4。

    这是我的代码:

    +(UIImage *) detectLines: (UIImage *)img {
        cv::Mat src, dst, color_dst;
        src = [openUtil cvMatFromUIImage:img];
        std::vector<cv::Vec4i> lines;
    
    //    cv::medianBlur(src, dst, 5);
        Canny( src, dst, 50, 200, 3 );
        cvtColor( dst, color_dst, CV_GRAY2BGR );
    
    //    cv::HoughLinesP( dst, lines, 5, CV_PI/180, 60, 30, 20 );
    //    for( size_t i = 0; i < lines.size(); i++ )
    //    {
    //        line( src, cv::Point(lines[i][0], lines[i][1]),
    //             cv::Point(lines[i][2], lines[i][3]), cv::Scalar(0,0,255), 3, 8 );
    //    }
    
        return [openUtil UIImageFromMat:color_dst];
    }
    

    我能以更好(正确)的方式做任何建议吗?

0 个答案:

没有答案