2013-10-04 6 views
2

Я пытаюсь сделать сегментацию книжных шипов, уложенных горизонтально и вертикально. Я столкнулся с проблемой, когда изображение слишком велико. enter image description hereОбласть интереса и обнаружение линии Hough для искажения линий

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

enter image description here

Изображение было переработано enter image description here

Изображение, в котором оно должно обрабатываться вместо enter image description here

Я даже не могу просмотреть все изображение, которое предполагается обработать. Следовательно, я попытался минимизировать окно только для этого изображения, используя =>

cv :: размер (изображение, изображение, cv :: Size2i (image.cols/6, image.rows/6)); // изменяем размер до 1/6 изображения

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

Следовательно, я попробовал => cv :: изменить размер (изображение, изображение, cv :: Size2i (750, 400));

Это приводит к другой проблеме. Хотя вышеприведенное изображение выше для отображения всего окна, для небольших изображений мое обнаружение houghline становится более неустойчивым.

enter image description here enter image description here

ли кто-нибудь есть идеи о том, как решить эту проблему проклейки? А также как улучшить мое обнаружение линии Hough, которое сейчас довольно неустойчиво, чтобы отделить книги? Я хочу провести линию между стопкой книг.

Надеюсь услышать от вас, ребята, в ближайшее время. Благодаря!!!

ответ

1

Похоже, вы изменение размера изображения перед тем вы выполнить преобразования Хока, я думаю, что вы хотите сделать это после. Это позволяет получить достаточное разрешение на вашем снимке, чтобы обнаружить приличные линии, и вы можете просмотреть его на своем мониторе.

Во-вторых, вы хотите улучшить обнаружение разделения между книгами. Мой совет должен был выполнить бит предварительной обработки. Существует множество способов сделать это. Mean Shift Segmentation для разделения картинки по цветам является, например.

Фильтрация результатов трансформации - еще один подход. Лишь поддержание линий, проходящих через темные области - так как темнее между книгами - это один из таких способов. Есть еще много методов.

Также не забудьте указать tweak the parameters of the Hough Transform, чтобы узнать, что лучше всего работает с вашим тестовым набором. Это может показать некоторые интересные результаты!

Удачи вам!

+0

Привет, в связи с изменением размеров, испробовал этот метод тоже, но линия рисунок будет идти все наперекосяк, а также. для рисования обнаруженных прямых линий я использую векторные линии . Я не думаю, что есть способ изменения размера вектора? Для временного назначения я работал вокруг него, изменяя размер изображения, используя краску, прежде чем открывать его с помощью моей программы. Конечно, я все же хочу решить эту проблему, хотя представьте, что кто-то играет с моей программой и сталкивается с этой проблемой. У вас есть другая идея, что могло бы вызвать это? Раньше я никогда не сталкивался с такой проблемой. – rockinfresh

+0

Что касается сегментации книги, я подумал о фильтрации результатов, где я нахожу темные области между книгами! Я попробую ваш совет по предварительной обработке изображения. Большое спасибо за ваши предложения и помощь (: – rockinfresh

+0

Нет проблем! Чтобы изменить размер вектора так же, как и ваше изображение, просто умножьте значение x на: wish_image_width/current_image_width и ваше значение y по: wish_image_height/current_image_height – MikeGold

1

ИМО сначала вы должны улучшить края обнаружены output.It состоит из очень менее edges.You можно использовать cvCanny или cvSobel для same.Also использовать вероятностный Хаф линии, что даст лучшие результаты. Вы можете настроить параметры cvHoughLines, такие как порог, minLinLength, maxLineGap, так как на рисунке линии идут слишком близко. Пожалуйста, проверьте подробности здесь:

http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html

+0

вероятностные линии Hough Lines vs Hough Lines потому что этот случай на самом деле играет ту же роль.Я пробовал настроить оба, и нормальный Хью на самом деле кажется лучше. Может быть, способ, которым я играл вокруг параметров HoughLineP, был немного неправильным. Я разделяю те же чувства, что и вы улучшаете Я читаю на Sobel сейчас, надеюсь, что это будет эффективно. Спасибо! (: – rockinfresh