At the moment, I am just counting the instances of an image of a single star in the picture.  I am not using it for SEP or plate solving, but it would not be too difficult to do that.

From reading the documentation, it seems to be best described as finding instances of a picture within another picture.  You can use this for complex pattern matching, but stars are very simple objects.  In most of the examples I looked at, they included an example image of a star.  In my case, instead of using a real star image, I just generate a fake star image using cv2 by drawing a white circle and applying a blur() function to it--a perfect star every time.

As for the speed, it is one of the faster methods I have used.  It can find all of the stars in a 1920x1080 image covering 120 degress of the sky in about a second.  The only problem is that it generates a lot of duplicate findings, finding the same star multiple times.  Eliminating the duplicates slows things down a lot, but still *at least* 2-3 times faster than scikit-image blob_dog() for similar results.  It is not perfect, but it is good enough for my purposes. 

Here is an example.  I only look for patterns in the central box of the image.  This is to stay away from the trees.  The gaps in the leaves look like stars to the pattern matching.
1035 "stars" were detected in 0.5 seconds on a Raspberry PI 3.  The brighter the red circle, the more times it was duplicated.
Eliminating the duplicates brings the star count to 198 which adds another 2 seconds to processing.
 



Read More...