
    ic                     H    d dl Z d dlZd dlZd dlmZmZ d ZddZd Zd Z	dS )    N)
dump_image
ensure_dirc                 ~    t          | d          5 }t          j        |          cd d d            S # 1 swxY w Y   d S )Nr)openjsonload)template_pathfs     #/code/app/lib/handwriting/glyphs.pyload_templater   	   s~    	mS	!	! Qy||                 s   266c                    |d         d         }|d         d         }|d         d         }| j         d d         \  }}|t          |          z  }	|t          |          z  }
t          j                            |d          }t          |           |D ]w}|d         }|d         d	z
  }|d
         d	z
  }t          ||	z            }t          ||
z            }t          |d	z   |	z            }t          |d	z   |
z            }| ||||f         }d}t          ||z
  |z            }t          ||z
  |z            }||||z
  |z
  |||z
  |z
  f         }|j        dk    r|}t          |d| d|           |W|||||f         	                                }||||z
  |z
  |||z
  |z
  f         }|j        dk    r|}t          |          }nt          |          }t          |d| d|           t          |d| d|           yd S )Ngridrowscolscells   glyphscharrow   colgQ?r   zglyphs/glyph_z_raw.jpgz_nolines.jpgz_binary.png)shapefloatospathjoinr   intsizer   copyremove_grid_lines_colorremove_grid_lines)grid_imgtemplateout_dir
grid_colorr   r   r   hwcell_wcell_h	glyph_dircellchr   r   x1y1x2y2raw	pad_ratiopad_xpad_yinner	raw_colorinner_colorno_liness                               r   extract_glyphsr:      sz   FF#DFF#DVW%E >"1"DAqt_Ft_FWh//Iy G G&\5kAo5kAovv#'V#$$#'V#$$r"ube|$	R"W	)**R"W	)**ER"W--uR57H/HHI:??E78B888%@@@!"2b5"R%<05577I#bE))5BGu3D+DDK 1$$'.{;;HH(//H7<B<<<hGGG7;B;;;XFFFF=G G    c                 T   | j         d d         \  }}t          j        | dt          j        t          j        dd          }t          j        t          j        t          dt          |dz                      df          }t          j        t          j        dt          dt          |dz                      f          }t          j	        |t          j
        |          }t          j	        |t          j
        |          }t          j        ||          }t          j        ||          }	|	S )Nr               g      ?r   )r   cv2adaptiveThresholdADAPTIVE_THRESH_MEAN_CTHRESH_BINARY_INVgetStructuringElement
MORPH_RECTmaxr   morphologyEx
MORPH_OPEN
bitwise_orsubtract)
cell_imgr'   r(   thrhoriz_kernelvert_kernelhorizvert	line_maskr9   s
             r   r"   r"   <   s    >"1"DAq

"

 C ,S^c"c!c'll>S>SUV=WXXL+CNQBAPSG@U@U<VWWKS#.,??EC==Dud++I|C++HOr;   c                    t          j        |           \  }}}|                    t                    |                    t                    z
  dk    |                    t                    |                    t                    z
  dk    z  |dk    z  }|                                 }d||<   t          j        |t           j                  }t          j        |ddt           j        t           j	        z             \  }}|S )N         )r=   r=   r=   r   r=   )
rA   splitastyper   r    cvtColorCOLOR_BGR2GRAY	thresholdrD   THRESH_OTSU)	cell_bgrbgr   	mask_bluecleanedgray_binarys	            r   r!   r!   R   s    i!!GAq!	
##	&	*88C==188C==(1,	.s7	 
 mmooG(GI<!344DdAsC,ACO,STTIAvMr;   )N)
r   r   rA   app.lib.handwriting.io_utilsr   r   r   r:   r"   r!    r;   r   <module>rg      s     				 



 ? ? ? ? ? ? ? ?  
+G +G +G +G\  ,    r;   