I have a project in which I have to recognize 2 lines in different "position", the lines are orthogonal but can be projected on different surfaces. I'm using opencv.

ilnes on straight surface

deformed lines

I'm not asking for code, but only for hints about how can I solve this? I tried houghlines function but it works only for straight surfaces. thanks in advance !


2 Answers 2


The cross shape that i see in this example seems to remain more or less orthogonal. Maybe using a houghlines transformation with a piecewise flexibility might provide more true positives, but this also increases the false positives. In this case a corner detector might also be a goodidea, thus providing a set of interest points to search from and eliminate. The problem again there would be the large number of false positives. Try this morphological corner detector (Robert Laganiere (1998): "Morphological Corner Detection") - its simple and structural. The problem in such cases is classifying your background on which the cross falls to help improve with the false positives!

  • $\begingroup$ Hey, I hope you don't mind, I added the author name and article title in your answer -- I think it's nice, and the least we can do to acknowledge academic works we're linking. Additionally, it also makes the article searchable if the link ever stops working. $\endgroup$
    – penelope
    Commented Jan 9, 2014 at 10:44
  • $\begingroup$ Thats great! Ofcourse :) $\endgroup$
    – beedot
    Commented Jan 9, 2014 at 14:56

I guess you have 2 lasers and trying to extract the position. In this case, it won't be a good idea to rely on lines. If you are using for example red lasers, you better decorate the camera with a red filter, so that the rest of the content will not appear that much in the camera. Also, if you are working in let's say an outdoors environment, you might try to use a powerful laser (which might do some harm to the ideas, watch out).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.