scikit-image

Форк
0
41 строка · 1.1 Кб
1
from numpy import unique
2
from scipy.stats import entropy as scipy_entropy
3

4

5
def shannon_entropy(image, base=2):
6
    """Calculate the Shannon entropy of an image.
7

8
    The Shannon entropy is defined as S = -sum(pk * log(pk)),
9
    where pk are frequency/probability of pixels of value k.
10

11
    Parameters
12
    ----------
13
    image : (M, N) ndarray
14
        Grayscale input image.
15
    base : float, optional
16
        The logarithmic base to use.
17

18
    Returns
19
    -------
20
    entropy : float
21

22
    Notes
23
    -----
24
    The returned value is measured in bits or shannon (Sh) for base=2, natural
25
    unit (nat) for base=np.e and hartley (Hart) for base=10.
26

27
    References
28
    ----------
29
    .. [1] `https://en.wikipedia.org/wiki/Entropy_(information_theory) <https://en.wikipedia.org/wiki/Entropy_(information_theory)>`_
30
    .. [2] https://en.wiktionary.org/wiki/Shannon_entropy
31

32
    Examples
33
    --------
34
    >>> from skimage import data
35
    >>> from skimage.measure import shannon_entropy
36
    >>> shannon_entropy(data.camera())
37
    7.231695011055706
38
    """
39

40
    _, counts = unique(image, return_counts=True)
41
    return scipy_entropy(counts, base=base)
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.