Pillow

Форк
0
/
test_imagestat.py 
59 строк · 1.2 Кб
1
from __future__ import annotations
2

3
import pytest
4

5
from PIL import Image, ImageStat
6

7
from .helper import hopper
8

9

10
def test_sanity() -> None:
11
    im = hopper()
12

13
    st = ImageStat.Stat(im)
14
    st = ImageStat.Stat(im.histogram())
15
    st = ImageStat.Stat(im, Image.new("1", im.size, 1))
16

17
    # Check these run. Exceptions will cause failures.
18
    st.extrema
19
    st.sum
20
    st.mean
21
    st.median
22
    st.rms
23
    st.sum2
24
    st.var
25
    st.stddev
26

27
    with pytest.raises(AttributeError):
28
        st.spam()  # type: ignore[attr-defined]
29

30
    with pytest.raises(TypeError):
31
        ImageStat.Stat(1)  # type: ignore[arg-type]
32

33

34
def test_hopper() -> None:
35
    im = hopper()
36

37
    st = ImageStat.Stat(im)
38

39
    # verify a few values
40
    assert st.extrema[0] == (0, 255)
41
    assert st.median[0] == 72
42
    assert st.sum[0] == 1470218
43
    assert st.sum[1] == 1311896
44
    assert st.sum[2] == 1563008
45

46

47
def test_constant() -> None:
48
    im = Image.new("L", (128, 128), 128)
49

50
    st = ImageStat.Stat(im)
51

52
    assert st.extrema[0] == (128, 128)
53
    assert st.sum[0] == 128**3
54
    assert st.sum2[0] == 128**4
55
    assert st.mean[0] == 128
56
    assert st.median[0] == 128
57
    assert st.rms[0] == 128
58
    assert st.var[0] == 0
59
    assert st.stddev[0] == 0
60

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

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

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

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