Files
zhenxun_bot/util/__pycache__/img_utils.cpython-39.pyc
T

60 lines
7.7 KiB
Plaintext
Raw Normal View History

2021-05-20 18:37:51 +08:00
a
€a¡`„#ã@sðddlZddlmZmZmZddlmZmZmZm Z ddl
Z
ddl Z ddl Z ddl
mZddlmZdd„Zd'd d
„Zd(d d „Zd
d„Zd)dd„Zdd„Zdd„Zd*dd„Zdd„Zeedœdd „Zeed!œd"d#„ZGd$d%„d%ƒZed&k�rìdS)+éN)Ú
IMAGE_PATHÚTXT_PATHÚTTF_PATH)ÚImageÚ ImageFileÚ ImageDrawÚ ImageFont)ÚBytesIO)ÚpyplotcCs¤t|}g}tt |¡ƒ}t|ƒt|ƒD]t}||vr8q*|d |¡}tj |¡s*tdt |ƒdt |ƒdƒt 
|d |d¡|¡|  |¡|d8}q*dS)Nz{}.jpgu
ä¸�存在=== z.jpg -------> ú.jpgé) rÚlenÚosÚlistdirÚprintÚrangeÚformatÚpathÚexistsÚstrÚrenameÚappend)rZnolistÚlengthÚiZimg_path©rú8D:\Python\Python_work\hibikibot\hibiki\util\img_utils.pyÚscan_img s   
rçø?cCsHdt_d}d}t|ƒ}t|ƒ}||}|dkr4| }||kr@dSdSdS)uV
max_dif: �许最大hash差值, 越�越精确,最�为0
推�使用
TNrF)rÚLOAD_TRUNCATED_IMAGESÚ get_img_hash)Z image_file1Z image_file2Úmax_difÚhash_1Úhash_2ÚdifrrrÚcompare_image_with_hashsr$cCs2t|ƒ}||}|dkr| }||kr*dSdSdS)NrTF)r)Ú
image_filer"r r!r#rrrÚcompare_one_img_hash1sr&cCs>t|dƒ� }t t |¡¡}Wdƒn1s00Y|S)NÚrb)ÚopenÚ imagehashÚ average_hashr)r%ÚfpZ
hash_valuerrrr<s .rçÍÌÌÌÌÌì?çÚÚjpgc
Cs¾t|d}
t|d} g} |dkrˆ|dkrˆ|
|d| }
| |d| }t |
¡j\}}}t||ƒ}t||ƒ}t|
|||ƒ�n2|dkržtt |
¡ƒ}|dkrª|}t ||ƒD�]}|| vrÄq´|dk�rTtj
  |
t |ƒd¡|kr´t
d|dƒ|
t |ƒd}
| t |ƒd}t |
¡j\}}}t||ƒ}t||ƒ}t|
|||ƒnq´q´t
d|dƒ|
t |ƒd}
| t |ƒd}t |
¡j\}}}t||ƒ}t||ƒ}t|
|||ƒq´dS)Nú/r.Ú.rr u 压缩----->)rÚcv2ÚimreadÚshapeÚintÚ ResizeImager
rrrrÚgetsizerr)ZinpathZoutpathÚratioÚstartÚendÚlensÚmaxsizeZ in_file_nameZ
out_file_nameÚitypeZin_pathZout_pathÚlÚfileinÚfileoutÚhÚwÚdÚwidthÚheightrrrrÚrar_imgsCsD    
      rFcCs.t t |¡t|ƒt|ƒf¡}t ||¡dS©N)r2Úresizer3r5Zimwrite)r?r@rDrEÚimgrrrr6nsr6cCsVt t|¡D]B}tj t||¡dkr>ttd||ƒqtt|||ƒqdS)Ng8Azrar/)rrrrr7Úcompare_img_hash_in_txt)rÚnameÚfilerrrÚ
save_img_hashtsrMr c CsØtt|ddƒ�²}| d¡| ¡dd… d¡}| d¡t|dƒ�^}tt t |¡¡ƒ}||vr˜|dkr||  |d¡WdƒWdƒd SWdƒn1s¬0YWdƒn1sÊ0Yd
S) Nz.txtza+réÿÿÿÿú,ér'r FT)
r(rÚseekÚreadÚstriprr)r*rÚwrite)rLrKÚmodeZtxtfileZ hash_listr+Zimg_hashrrrrJ}s

 XrJcCsn| d¡}|j}|d}|d}t|ƒD]@}t|ƒD]2}||f}| |¡}|ddkr4d}| ||¡q4q(|S)NÚRGBArr é)éÿrXrXrX)ÚconvertÚsizerÚgetpixelÚputpixel)rIÚsprDrEZyhZxwÚdotZcolor_drrrÚalphabg2white_PILŒs
  
 r_)ÚpicÚreturncCs.tƒ}|j|dd�t | ¡¡ ¡}d|S©NÚPNG)rú base64://)r ÚsaveÚbase64Ú b64encodeÚgetvalueÚdecode)r`ÚbufÚ
base64_strrrrÚpic2b64›srl)ÚpltracCs0tƒ}|j|ddd�t | ¡¡ ¡}d|S)Nrcéd)rÚdpird)r Úsavefigrfrgrhri)rmrjrkrrrÚfig2b64¢srqc@steZdZd#dd „Zd$d d
„Zdd„Zd%dd„Zdd„Zdd„Zdd„Z dd„Z
dd„Z d&dd„Z dd „Z
d!d"„Zd
S)'Ú CreateImgrÚwhiterVé
r.úyz.ttfr c Cst|ƒ|_t|ƒ|_t|ƒ|_t|ƒ|_d|_d|_t t | t|ƒ¡|_
|sht   ||j|jf|¡|_
n�|dkrÚ|dkrÚt  |¡|_
|j
j\}}|
rÌt|
|ƒ|_t|
|ƒ|_|j
 |j|jft j¡|_
qø||_||_nt  |¡ |j|jft j¡|_