Scheaven
2021-09-18 291deeb1fcf45dbf39a24aa72a213ff3fd6b3405
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
U
©r_Úã @sþdZddlZddlZddlmZmZmZdd„Zdd„Z    dd    „Z
d
d „Z d d „Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Ze e eeeeeeeg    Ze e eeeeeeeg    Ze e eeeeeeeeeeeg ZdS)&z9
@author:  liaoxingyu
@contact: sherlockliao01@gmail.com
éN)ÚImageÚImageOpsÚ ImageEnhancecCsŽt|tjƒrft|jƒdkst‚|jdkr>|dd…dd…df}t |     d¡¡}t|tj
ƒrb|  ¡S|S|j dkrŠt tj |tjdd¡}n†|j dkr®t tj |tjdd¡}nb|j d    krÒt tj |tjdd¡}n>|j d
krúd t tj |tjdd¡}nt 
tj | ¡¡¡}|j d kr"d }n|j dkr4d}n
t|j ƒ}| |jd|jd|¡}|     dd¡     dd¡ ¡}t|tj
ƒr†|  ¡S|SdS)zéConvert a ``PIL Image`` or ``numpy.ndarray`` to tensor.
 
    See ``ToTensor`` for more details.
 
    Args:
        pic (PIL Image or numpy.ndarray): Image to be converted to tensor.
 
    Returns:
        Tensor: Converted image.
    )éérN)rréÚIF)ÚcopyzI;16ÚFÚ1éÿÚYCbCrrrr)Ú
isinstanceÚnpÚndarrayÚlenÚshapeÚAssertionErrorÚndimÚtorchÚ
from_numpyÚ    transposeÚ
ByteTensorÚfloatÚmodeÚarrayÚint32Úint16Úfloat32Úuint8Ú ByteStorageÚ from_bufferÚtobytesÚviewÚsizeÚ
contiguous)ÚpicÚimgZnchannel©r(ú./data/transforms/functional.pyÚ    to_tensor s6 
 
 
 
 
 
r*cCst||dƒS)aSHelper function to scale `val` between 0 and maxval .
    Args:
      level: Level of the operation that will be between [0, `PARAMETER_MAX`].
      maxval: Maximum value that the operation can have. This will be scaled to
        level/PARAMETER_MAX.
    Returns:
      An int that results from scaling `maxval` according to `level`.
    é
)Úint©ÚlevelZmaxvalr(r(r)Ú int_parameter@s    r/cCst|ƒ|dS)aSHelper function to scale `val` between 0 and maxval.
    Args:
      level: Level of the operation that will be between [0, `PARAMETER_MAX`].
      maxval: Maximum value that the operation can have. This will be scaled to
        level/PARAMETER_MAX.
    Returns:
      A float that results from scaling `maxval` according to `level`.
    g$@)rr-r(r(r)Úfloat_parameterLs    r0cCstjjd|dS)N皙™™™™¹?)ÚlowÚhigh)rÚrandomÚuniform)Únr(r(r)Ú sample_levelXsr7cGs
t |¡S©N)rÚ autocontrast©Úpil_imgÚargsr(r(r)r9\sr9cGs
t |¡Sr8)rÚequalizer:r(r(r)r=`sr=cGstt|ƒdƒ}t |d|¡S)Né)r/r7rÚ    posterize©r;r.r<r(r(r)r?dsr?cGs2tt|ƒdƒ}tj ¡dkr"| }|j|tjdS)Néçà?©Úresample)r/r7rr4r5ÚrotaterÚBILINEAR)r;r.r<Údegreesr(r(r)rEisrEcGstt|ƒdƒ}t |d|¡S)Né)r/r7rÚsolarizer@r(r(r)rIpsrIc    CsDtt|ƒdƒ}tj ¡dkr"| }|j|tjd|ddddftjdS©Ng333333Ó?rBrrrC©    r0r7rr4r5Ú    transformrÚAFFINErF©r;r.Ú
image_sizer(r(r)Úshear_xusþrPc    CsDtt|ƒdƒ}tj ¡dkr"| }|j|tjddd|ddftjdSrJrKrNr(r(r)Úshear_y~sþrQc    CsLtt|ƒ|ddƒ}tj ¡dkr*| }|j|tjdd|dddftjdS)NrrrBrrC©r/r7rr4rLrrMrFrNr(r(r)Ú translate_x‡sþrSc    CsLtt|ƒ|ddƒ}tj ¡dkr*| }|j|tjddddd|ftjdS)NrrrBrrCrRrNr(r(r)Ú translate_ysþrTcGs"tt|ƒdƒd}t |¡ |¡S©NgÍÌÌÌÌÌü?r1)r0r7rÚColorÚenhancer@r(r(r)ÚcoloršsrXcGs"tt|ƒdƒd}t |¡ |¡SrU)r0r7rÚContrastrWr@r(r(r)Úcontrast srZcGs"tt|ƒdƒd}t |¡ |¡SrU)r0r7rÚ
BrightnessrWr@r(r(r)Ú
brightness¦sr\cGs"tt|ƒdƒd}t |¡ |¡SrU)r0r7rÚ    SharpnessrWr@r(r(r)Ú    sharpness¬sr^)Ú__doc__ÚnumpyrrÚPILrrrr*r/r0r7r9r=r?rErIrPrQrSrTrXrZr\r^Úaugmentations_reidZ augmentationsZaugmentations_allr(r(r(r)Ú<module>sl4              
þþþ