0

I am trying to do image alignment like posted on adrian blog like this image or in this link.

I want to do image alignment on this kind of image. The problem is I want to automatically detect the 4 point edges which are hard to detect in this kind of images with contour detection like in the tutorial.

Now I can do alignment just fine with manually input edge coordinates. Some of my friends suggest me to detect the edges with dlib landmark detection, but as far as I can see it mostly uses shape in which dlib automatically marking the landmark.

Do I miss something here? Or is there any tutorial or even basic guide about how to do that?

Kaiwen
  • 137
  • 1
  • 9
  • 1
    Can you elaborate the code that you try? – Nabih Bawazir Nov 01 '18 at 10:30
  • If I understand well, you want to align the showcase, but since there are many edges in the image like the borders of the small boxes in the showcase, it is difficult to detect the edges of the showcase (or the coordinates of its four corners)? – Kaiwen Nov 02 '18 at 17:00
  • yes. i wanted to automatically detect the edges which contour-based approach not doing well. – fajara kurniawan Nov 03 '18 at 11:57

1 Answers1

0

Maybe you can try to detect edges on a Gaussian pyramid. You can find an explanation here https://en.wikipedia.org/wiki/Pyramid_(image_processing). The basic idea is that by filtering with Gaussian filters of increasing size, the small objects are blurred. Thus at some scale, we get only edges of the showcase (maybe need further processing). Here is the tutorial of opencv on image pyramid: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_pyramids/py_pyramids.html.

I think wavelet pyramid (do wavelet transform several times) may work for your problem, since wavelet can reduce the details in image.

Kaiwen
  • 137
  • 1
  • 9