简体   繁体   中英

How can i check in numpy if a binary image is almost all black?

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.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM