OpenCV Hough сильнейшие линии

Функции HoughLines или HoughLinesP в OpenCV возвращают список строк в порядке накопления, как функция HoughCircles? Я хотел бы знать порядок строк. Также было бы очень удобно получить значение аккумулятора для линий, чтобы вместо фиксированного можно было использовать интеллектуальный и адаптивный порог. Доступны ли значения заказа или значения аккумулятора безсам переписываю OpenCV?

 Quentin Geissmann06 июл. 2012 г., 00:57
Неплохо. Я всегда предполагал, что линии были приведены в порядке. И это предположение до сих пор соответствовало моим результатам ... Однако было бы неплохо быть уверенным.

Ответы на вопрос(1)

Решение Вопроса

HoughTransform ордеров по убыванию количества голосов. Вы можете увидеть кодВот

Однако при возврате функции счетчик голосов теряется - единственный способ получить его - изменить OpenCV.

Хорошей новостью является то, что это не очень сложно - я сделал это сам один раз. Это метра минут, чтобы изменить вывод сvector< Vec2f > вvector< Vec3f > и заполните последний параметр с подсчетом голосов.

Кроме того, вы должны изменить CvLinePolar, чтобы добавить третий параметр - хотя это реализовано вCи над ним есть оберткаC++Таким образом, вы должны изменить как реализацию, так и оболочку.

Основной код для изменения здесь

 for( i = 0; i < linesMax; i++ )
 {
        CvLinePolar line;
        int idx = sort_buf[i];
        int n = cvFloor(idx*scale) - 1;
        int r = idx - (n+1)*(numrho+2) - 1;
        line.rho = (r - (numrho - 1)*0.5f) * rho;
        line.angle = n * theta;

        // add this line, and a field voteCount to CvLinePolar
        // DO NOT FORGET TO MODIFY THE C++ WRAPPER
        line.voteCount = accum[idx];          

        cvSeqPush( lines, &line );
 }
 06 июл. 2012 г., 15:38
Вероятностный находится в том же файле, я думаю, вы уже нашли его. Другой подход в поиске строк означает, что подсчет голосов не так актуален, как в классическом H. Пока строка имеет минимальное количество необходимых голосов, она помещается в очередь результатов. Сортировка не производится.
 26 мар. 2015 г., 13:42
Здравствуйте, извините за обновление этой темы, но у вас есть идея, как получить значение аккумулятора в пробалистическом преобразовании Хафа? Я не совсем уверен, где в матрице накопителя находятся линейные голоса.
 zzzz06 июл. 2012 г., 15:17
Спасибо за разъяснение и указание на код. Я использую вероятностную версию и перебираю код, было бы неплохо вывести в линию linesMax, чтобы ускорить процесс.

Ваш ответ на вопрос