o äètf—ã@sHddlZddlZddlmZmZddlmZdd„Zdd„Z dd „Z dS) éN)Ú crop_imageÚcalculate_size)ÚImagecCsÈt |¡ ddg¡}t |d¡}||jd}t |dd…df|d|dd…df|d¡}|t |¡}| ddg¡}|dd|dkrXt |dd…|dd…g¡}| ddg¡ d¡}|S)NéérééÿÿÿÿéZfloat32) ÚnpÚarrayÚreshapeÚsumÚshapeZarctan2ZargsortZ concatenateZastype)ZcoorÚarrZsum_ÚcentroidÚthetaZ sort_points©rú?e:\Desktop\Mobile-Agent-v2-api\MobileAgent\text_localization.pyÚ order_points 4rcsÂt|ƒ}t|ƒ‰‡fdd„t|dƒDƒ}td|dƒD]>}tdˆdƒD]4}||d||dkrD||d|dd|||<q%t||d||||dƒ|||<q%q||ˆS)Ncsg|] }dgˆd‘qS)rrr)Ú.0Ú_©ÚnrrÚ sz3longest_common_substring_length..r)ÚlenÚrangeÚmax)Zstr1Zstr2ÚmZdpÚiÚjrrrÚlongest_common_substring_lengths",ü r c Cs¼g}g}t |¡}||ƒ}|d}t|jdƒD]A}t||ƒ}t||ƒ} z || ƒdd} WnYqdd„t| d¡ƒDƒ} | d| d| d| d g} | | ¡| | ¡q||fS) NZpolygonsrÚtextcSsg|]}t|ƒ‘qSr)Úint)rÚerrrr3szocr..rrré) Úcv2ZimreadrrrrÚlistr Úappend) Ú image_pathÚ ocr_detectionÚocr_recognitionZ text_dataÚ coordinateZ image_fullZ det_resultrZptsZ image_cropÚresultÚboxrrrÚocr#s"     r.) r%Únumpyr ZMobileAgent.croprrÚPILrrr r.rrrrÚs