a
    lc&$                     @   s   d dgZ ddlZddlZdd Zeddd Zedd	d
 Zeddd Zeddd Zeddd Z	eddd Z
edG dd dZedG dd dZdd  Zdd Zejejj_dS )opkernel    Nc                    s    fdd}|S )Nc                    s   | t j  j| j< | S N)sysmodules__dict____name__)funcmname M/var/www/html/django/DPS/env/lib/python3.9/site-packages/cv2/gapi/__init__.pyparameterized   s    zregister.<locals>.parameterizedr   )r   r   r   r
   r   register   s    r   zcv2.gapic                  G   s   t ttt jj| S r   )cvZgapi_GNetPackagelistmapdetailstripargsr   r   r   networks   s    r   c                  G   s   t ttj| S r   )r   r   r   ZGCompileArgr   r   r   r   compile_args   s    r   cv2c                  G   s   g | S r   r   r   r   r   r   GIn   s    r   c                  G   s   g | S r   r   r   r   r   r   GOut   s    r   c                  G   s   g | S r   r   r   r   r   r   gin"   s    r   c                  G   s   g | S r   r   r   r   r   r   descr_of'   s    r   c                   @   s   e Zd Zdd ZG dd dZG dd dZG dd dZG d	d
 d
ZG dd dZG dd dZ	G dd dZ
G dd dZG dd dZG dd dZG dd dZdS )GOpaquec                 C   s
   t |S r   )r   GOpaqueTclsZargtyper   r   r   __new__0   s    zGOpaque.__new__c                   @   s   e Zd Zdd ZdS )zGOpaque.Boolc                 C   s   t t jjS r   )r   r   gapiCV_BOOLselfr   r   r   r"   4   s    zGOpaque.Bool.__new__Nr   
__module____qualname__r"   r   r   r   r   Bool3   s   r*   c                   @   s   e Zd Zdd ZdS )zGOpaque.Intc                 C   s   t t jjS r   )r   r   r#   CV_INTr%   r   r   r   r"   8   s    zGOpaque.Int.__new__Nr'   r   r   r   r   Int7   s   r,   c                   @   s   e Zd Zdd ZdS )zGOpaque.Doublec                 C   s   t t jjS r   )r   r   r#   	CV_DOUBLEr%   r   r   r   r"   <   s    zGOpaque.Double.__new__Nr'   r   r   r   r   Double;   s   r.   c                   @   s   e Zd Zdd ZdS )zGOpaque.Floatc                 C   s   t t jjS r   )r   r   r#   CV_FLOATr%   r   r   r   r"   @   s    zGOpaque.Float.__new__Nr'   r   r   r   r   Float?   s   r0   c                   @   s   e Zd Zdd ZdS )zGOpaque.Stringc                 C   s   t t jjS r   )r   r   r#   	CV_STRINGr%   r   r   r   r"   D   s    zGOpaque.String.__new__Nr'   r   r   r   r   StringC   s   r2   c                   @   s   e Zd Zdd ZdS )zGOpaque.Pointc                 C   s   t t jjS r   )r   r   r#   CV_POINTr%   r   r   r   r"   H   s    zGOpaque.Point.__new__Nr'   r   r   r   r   PointG   s   r4   c                   @   s   e Zd Zdd ZdS )zGOpaque.Point2fc                 C   s   t t jjS r   )r   r   r#   
CV_POINT2Fr%   r   r   r   r"   L   s    zGOpaque.Point2f.__new__Nr'   r   r   r   r   Point2fK   s   r6   c                   @   s   e Zd Zdd ZdS )zGOpaque.Sizec                 C   s   t t jjS r   )r   r   r#   CV_SIZEr%   r   r   r   r"   P   s    zGOpaque.Size.__new__Nr'   r   r   r   r   SizeO   s   r8   c                   @   s   e Zd Zdd ZdS )zGOpaque.Rectc                 C   s   t t jjS r   )r   r   r#   CV_RECTr%   r   r   r   r"   T   s    zGOpaque.Rect.__new__Nr'   r   r   r   r   RectS   s   r:   c                   @   s   e Zd Zdd ZdS )zGOpaque.Primc                 C   s   t t jjS r   )r   r   r#   CV_DRAW_PRIMr%   r   r   r   r"   X   s    zGOpaque.Prim.__new__Nr'   r   r   r   r   PrimW   s   r<   c                   @   s   e Zd Zdd ZdS )zGOpaque.Anyc                 C   s   t t jjS r   )r   r   r#   CV_ANYr%   r   r   r   r"   \   s    zGOpaque.Any.__new__Nr'   r   r   r   r   Any[   s   r>   N)r   r(   r)   r"   r*   r,   r.   r0   r2   r4   r6   r8   r:   r<   r>   r   r   r   r   r   ,   s   r   c                   @   s   e Zd Zdd ZG dd dZG dd dZG dd dZG d	d
 d
ZG dd dZG dd dZ	G dd dZ
G dd dZG dd dZG dd dZG dd dZG dd dZG dd dZG dd dZdS ) GArrayc                 C   s
   t |S r   )r   GArrayTr    r   r   r   r"   c   s    zGArray.__new__c                   @   s   e Zd Zdd ZdS )zGArray.Boolc                 C   s   t t jjS r   )r   r@   r#   r$   r%   r   r   r   r"   g   s    zGArray.Bool.__new__Nr'   r   r   r   r   r*   f   s   r*   c                   @   s   e Zd Zdd ZdS )z
GArray.Intc                 C   s   t t jjS r   )r   r@   r#   r+   r%   r   r   r   r"   k   s    zGArray.Int.__new__Nr'   r   r   r   r   r,   j   s   r,   c                   @   s   e Zd Zdd ZdS )zGArray.Doublec                 C   s   t t jjS r   )r   r@   r#   r-   r%   r   r   r   r"   o   s    zGArray.Double.__new__Nr'   r   r   r   r   r.   n   s   r.   c                   @   s   e Zd Zdd ZdS )zGArray.Floatc                 C   s   t t jjS r   )r   r@   r#   r/   r%   r   r   r   r"   s   s    zGArray.Float.__new__Nr'   r   r   r   r   r0   r   s   r0   c                   @   s   e Zd Zdd ZdS )zGArray.Stringc                 C   s   t t jjS r   )r   r@   r#   r1   r%   r   r   r   r"   w   s    zGArray.String.__new__Nr'   r   r   r   r   r2   v   s   r2   c                   @   s   e Zd Zdd ZdS )zGArray.Pointc                 C   s   t t jjS r   )r   r@   r#   r3   r%   r   r   r   r"   {   s    zGArray.Point.__new__Nr'   r   r   r   r   r4   z   s   r4   c                   @   s   e Zd Zdd ZdS )zGArray.Point2fc                 C   s   t t jjS r   )r   r@   r#   r5   r%   r   r   r   r"      s    zGArray.Point2f.__new__Nr'   r   r   r   r   r6   ~   s   r6   c                   @   s   e Zd Zdd ZdS )zGArray.Sizec                 C   s   t t jjS r   )r   r@   r#   r7   r%   r   r   r   r"      s    zGArray.Size.__new__Nr'   r   r   r   r   r8      s   r8   c                   @   s   e Zd Zdd ZdS )zGArray.Rectc                 C   s   t t jjS r   )r   r@   r#   r9   r%   r   r   r   r"      s    zGArray.Rect.__new__Nr'   r   r   r   r   r:      s   r:   c                   @   s   e Zd Zdd ZdS )zGArray.Scalarc                 C   s   t t jjS r   )r   r@   r#   	CV_SCALARr%   r   r   r   r"      s    zGArray.Scalar.__new__Nr'   r   r   r   r   Scalar   s   rB   c                   @   s   e Zd Zdd ZdS )z
GArray.Matc                 C   s   t t jjS r   )r   r@   r#   CV_MATr%   r   r   r   r"      s    zGArray.Mat.__new__Nr'   r   r   r   r   Mat   s   rD   c                   @   s   e Zd Zdd ZdS )zGArray.GMatc                 C   s   t t jjS r   )r   r@   r#   CV_GMATr%   r   r   r   r"      s    zGArray.GMat.__new__Nr'   r   r   r   r   GMat   s   rF   c                   @   s   e Zd Zdd ZdS )zGArray.Primc                 C   s   t t jjS r   )r   r?   r#   r;   r%   r   r   r   r"      s    zGArray.Prim.__new__Nr'   r   r   r   r   r<      s   r<   c                   @   s   e Zd Zdd ZdS )z
GArray.Anyc                 C   s   t t jjS r   )r   r?   r#   r=   r%   r   r   r   r"      s    zGArray.Any.__new__Nr'   r   r   r   r   r>      s   r>   N)r   r(   r)   r"   r*   r,   r.   r0   r2   r4   r6   r8   r:   rB   rD   rF   r<   r>   r   r   r   r   r?   _   s   r?   c                    s  t jjt jjt jjt jjt jjt jjt jj	t jj
t jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jji t jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jj	t jj
t jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjt jjit jjdt jjdt jjdt jj
dt jjdt jjdt jjdt jjdt jjd	t jjd
t jjdt jjdt jjdi fdd}|S )Nzcv.gapi.CV_BOOLzcv.gapi.CV_INTzcv.gapi.CV_DOUBLEzcv.gapi.CV_FLOATzcv.gapi.CV_STRINGzcv.gapi.CV_POINTzcv.gapi.CV_POINT2Fzcv.gapi.CV_SIZEzcv.gapi.CV_RECTzcv.gapi.CV_SCALARzcv.gapi.CV_MATzcv.gapi.CV_GMATzcv.gapi.CV_DRAW_PRIMc                    s   st d js(t d jtD ]6\}}|tjtjgvr0t d j|j|q0 fdd} _t| _	 S )Nz,{} operation should have at least one input!z-{} operation should have at least one output!z.{} unsupported output type: {} in position: {}c               
      s,  t t | kr(tdt t | tt| D ]\}\}}|v rt|tjsztd j|tjjt	|jn6|	 | krtd j||  |	  q6|v r$t|tj
std j|tj
jt	|jn8|	 | krNtd j||  |	  q6|t	|kr6td j||jt	|jq6tjj jg| R  }g }tD ]\}}|tjkr||  nr|tjkr||  nV|v r|||  n6|v r|||  ntd j|j|qtt |dkr$t|S |d S )	Nz:Invalid number of input elements!
Expected: {}, Actual: {}z9{} invalid type for argument {}.
Expected: {}, Actual: {}zA{} invalid GArrayT type for argument {}.
Expected: {}, Actual: {}zA{} invalid GOpaque type for argument {}.
Expected: {}, Actual: {}z?{} invalid input type for argument {}.
Expected: {}, Actual: {}zMIn {}: G-API operation can't produce the output with type: {} in position: {}   r   )len	Exceptionformat	enumeratezip
isinstancer   r@   r   typer   r#   Z__opoutMetarF   appendZgetGMatGScalarZ
getGScalarZ
getGOpaqueZ	getGArraytuple)r   itar   Z
out_protosZout_type)r!   garray_typesgopaque_typesin_typesop_id	out_typestype2strr   r   on   sT    




z&op.<locals>.op_with_params.<locals>.on)
rI   rJ   r   rK   r   rF   rQ   idstaticmethodr\   )r!   rS   rT   r\   rV   rW   rX   rY   rZ   r[   r!   r   op_with_params   s    
0
zop.<locals>.op_with_params) r   r?   r*   r#   r$   r,   r+   r.   r-   r0   r/   r2   r1   r4   r3   r6   r5   r8   r7   r:   r9   rB   rA   rD   rC   rF   rE   r<   r;   r>   r=   r   )rY   rX   rZ   ra   r   r_   r   r      sZ    @c                    s    fdd}|S )Nc                    s    j | _  j| _| S r   )r]   rO   r`   op_clsr   r   kernel_with_params  s    z"kernel.<locals>.kernel_with_paramsr   )rc   rd   r   rb   r   r     s    )__all__r   r   r   r   r   r   r   r   r   r   r   r?   r   r   Zgapi_wip_gst_GStreamerPipeliner#   ZwipZGStreamerPipeliner   r   r   r   <module>   s,   





2@w