Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recognition of repeated pattern in an image

Consider an image which is a composite of repeated pattern of varying size and unknown topography (as shown below) An image composed of varying tile patterns. Note that there are 4 patterns here considering that the images of same topography are classified in the same category

How do we find the repeated pattern (along with its location) ?

like image 926
Adi279 Avatar asked Oct 27 '25 05:10

Adi279


2 Answers

An easy way to do this is to compute the autocorrelation of the image. At least the blocks with the same size can be identified this way.

A more elaborate way is explained in this post. You first of course will need to subdivide your big image into small images.

like image 180
yar Avatar answered Oct 30 '25 15:10

yar


I'd have a look at the SIFT and RANSAC algorithm, it might not be exactly what you need, but it'll lead you in the right direction. What makes this hard is that you don't know which features you're looking for ahead of time so you will need some overseeing algorithm helping you make guesses.

Open source implementation https://robwhess.github.io/opensift/

Wikipedia with some good links at the bottom as well as descriptions of similar algorithms

like image 40
pixelpax Avatar answered Oct 30 '25 14:10

pixelpax