Question

How can i see in if a binary image is almost all black or all white in numpy or scikit-image modules ?

I thought about numpy.all function or numpy.any but i do not know how neither for a total black image nor for a almost black image.

Was it helpful?

Solution

Assuming that all the pixels really are ones or zeros, something like this might work (not at all tested):


def is_sorta_black(arr, threshold=0.8):
    tot = np.float(np.sum(arr))
    if tot/arr.size  > (1-threshold):
       print "is not black" 
       return False
    else:
       print "is kinda black"
       return True

OTHER TIPS

Here is a list of ideas I can think of:

  1. get the np.sum() and if it is lower than a threshold, then consider it almost black
  2. calculate np.mean() and np.std() of the image, an almost black image is an image that has low mean and low variance
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top