The fastest way to find a specific element in an image?

Imagine that we have a simple 2D drawing filled with a lot of non-overlapping circles and just a few stars.

If we find all the stars among all these circles, I can come up with very few methods. Brute force is one of them. Another way is to possibly reduce the size of the image (to the optimum point where you can still distinguish objects from each other), and then apply brute force and display the original image. The lack of brute force is, of course, very laborious. I am looking for faster methods, perhaps the fastest.

What is the fastest way to process images to find a specified element in a simple 2D image?

+3
source share
4 answers

One of the typical ways to search for an object in an image is cross-correlation . Basically, you are looking for a position where the cross-correlation between the mask (the object you are trying to find) and the image is the highest. This position is the likely location of the object you are trying to find.

For simplicity, I will refer to the object that you are trying to find as a star, but in general it can be any shape.

Some problems with the above approach:

  • . , . , , .
  • , . , - .

, , . . , . , - .

, . , - .

+5

segment , . , , (, compactness, ), , .

, hough, " "

+2

, , ,

  • , ( )
  • , misha,

  • ( - ?)
  • -
  • -
  • -

.

, , .

, , , , , .

+1

1: - 1 ( ), . [ , , , - ].

2: / .

3. .

4: .

1/2 , /. 3, , , 1/2. 4 (, , - , , ).

+1

Source: https://habr.com/ru/post/1778111/


All Articles