Qt, Opencv, Как найти Hough Lines только для линий электропередачи в печатной плате?

Я написал код для поиска линий Hough для линий передачи в печатной плате.
Мой код:

void MainWindow::houghline()
{
Canny( image, image_output, ui->slider_threshold_canny_1->value(), ui->slider_threshold_canny_2->value(), 3 );
cv::cvtColor(image_output,input_grey_image, CV_GRAY2BGR);
cv::vector<Vec4i> lines;
cv::HoughLinesP(image_output, lines, 1, CV_PI/180, 50, 50, 10 );
for( size_t i = 0; i < lines.size(); i++ )
{
Vec4i l = lines[i];
line( input_grey_image, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
}

QPixmap image_input = cvMatToQPixmap(input_grey_image);
ui->l_image->setPixmap(image_input);
ui->l_image->setScaledContents(true);
ui->l_image->show();

}

Выходное изображение имеет неправильные линии, а также линия для промежутков между линиями передачи.

Как получить правильные неровные линии и неровные линии не между линиями передачи печатной платы?

Исходное изображение:
Обнаружен хитрый край

Пиксельный уровень изображения: введите описание изображения здесь
На самом деле я не хочу сглаживать пиксели. Просто найдите пиксели, параллельные друг другу, и найдите расстояние между ними.

Возможно ли это с помощью преобразования Хафа? Есть ли какой-то другой метод для определения расстояния между краями пикселей

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector