o
    xh:(                     @   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                        fdd}|S )Nc                    s   | t j  j| j< | S N)sysmodules__dict____name__)funcmname E/var/www/vscode/kcb/lib/python3.10/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   )cvgapi_GNetPackagelistmapdetailstripargsr   r   r   networks   s   r   c                  G   s   t ttj| S r   )r   r   r   GCompileArgr   r   r   r   compile_args   s   r   cv2c                  G      g | S r   r   r   r   r   r   GIn      r   c                  G   r   r   r   r   r   r   r   GOut   r   r    c                  G   r   r   r   r   r   r   r   gin"   r   r!   c                  G   r   r   r   r   r   r   r   descr_of'   r   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 ) GOpaquec                 C   
   t |S r   )r   GOpaqueTclsargtyper   r   r   __new__0      
zGOpaque.__new__c                   @      e Zd Zdd ZdS )zGOpaque.Boolc                 C      t t jjS r   )r   r%   gapiCV_BOOLselfr   r   r   r)   4      zGOpaque.Bool.__new__Nr	   
__module____qualname__r)   r   r   r   r   Bool3       r5   c                   @   r+   )zGOpaque.Intc                 C   r,   r   )r   r%   r-   CV_INTr/   r   r   r   r)   8   r1   zGOpaque.Int.__new__Nr2   r   r   r   r   Int7   r6   r8   c                   @   r+   )zGOpaque.Int64c                 C   r,   r   )r   r%   r-   CV_INT64r/   r   r   r   r)   <   r1   zGOpaque.Int64.__new__Nr2   r   r   r   r   Int64;   r6   r:   c                   @   r+   )zGOpaque.UInt64c                 C   r,   r   )r   r%   r-   	CV_UINT64r/   r   r   r   r)   @   r1   zGOpaque.UInt64.__new__Nr2   r   r   r   r   UInt64?   r6   r<   c                   @   r+   )zGOpaque.Doublec                 C   r,   r   )r   r%   r-   	CV_DOUBLEr/   r   r   r   r)   D   r1   zGOpaque.Double.__new__Nr2   r   r   r   r   DoubleC   r6   r>   c                   @   r+   )zGOpaque.Floatc                 C   r,   r   )r   r%   r-   CV_FLOATr/   r   r   r   r)   H   r1   zGOpaque.Float.__new__Nr2   r   r   r   r   FloatG   r6   r@   c                   @   r+   )zGOpaque.Stringc                 C   r,   r   )r   r%   r-   	CV_STRINGr/   r   r   r   r)   L   r1   zGOpaque.String.__new__Nr2   r   r   r   r   StringK   r6   rB   c                   @   r+   )zGOpaque.Pointc                 C   r,   r   )r   r%   r-   CV_POINTr/   r   r   r   r)   P   r1   zGOpaque.Point.__new__Nr2   r   r   r   r   PointO   r6   rD   c                   @   r+   )zGOpaque.Point2fc                 C   r,   r   )r   r%   r-   
CV_POINT2Fr/   r   r   r   r)   T   r1   zGOpaque.Point2f.__new__Nr2   r   r   r   r   Point2fS   r6   rF   c                   @   r+   )zGOpaque.Point3fc                 C   r,   r   )r   r%   r-   
CV_POINT3Fr/   r   r   r   r)   X   r1   zGOpaque.Point3f.__new__Nr2   r   r   r   r   Point3fW   r6   rH   c                   @   r+   )zGOpaque.Sizec                 C   r,   r   )r   r%   r-   CV_SIZEr/   r   r   r   r)   \   r1   zGOpaque.Size.__new__Nr2   r   r   r   r   Size[   r6   rJ   c                   @   r+   )zGOpaque.Rectc                 C   r,   r   )r   r%   r-   CV_RECTr/   r   r   r   r)   `   r1   zGOpaque.Rect.__new__Nr2   r   r   r   r   Rect_   r6   rL   c                   @   r+   )zGOpaque.Primc                 C   r,   r   )r   r%   r-   CV_DRAW_PRIMr/   r   r   r   r)   d   r1   zGOpaque.Prim.__new__Nr2   r   r   r   r   Primc   r6   rN   c                   @   r+   )zGOpaque.Anyc                 C   r,   r   )r   r%   r-   CV_ANYr/   r   r   r   r)   h   r1   zGOpaque.Any.__new__Nr2   r   r   r   r   Anyg   r6   rP   N)r	   r3   r4   r)   r5   r8   r:   r<   r>   r@   rB   rD   rF   rH   rJ   rL   rN   rP   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G dd  d ZG d!d" d"ZG d#d$ d$Zd%S )&GArrayc                 C   r$   r   )r   GArrayTr&   r   r   r   r)   o   r*   zGArray.__new__c                   @   r+   )zGArray.Boolc                 C   r,   r   )r   rR   r-   r.   r/   r   r   r   r)   s   r1   zGArray.Bool.__new__Nr2   r   r   r   r   r5   r   r6   r5   c                   @   r+   )z
GArray.Intc                 C   r,   r   )r   rR   r-   r7   r/   r   r   r   r)   w   r1   zGArray.Int.__new__Nr2   r   r   r   r   r8   v   r6   r8   c                   @   r+   )zGArray.Int64c                 C   r,   r   )r   rR   r-   r9   r/   r   r   r   r)   {   r1   zGArray.Int64.__new__Nr2   r   r   r   r   r:   z   r6   r:   c                   @   r+   )zGArray.UInt64c                 C   r,   r   )r   rR   r-   r;   r/   r   r   r   r)      r1   zGArray.UInt64.__new__Nr2   r   r   r   r   r<   ~   r6   r<   c                   @   r+   )zGArray.Doublec                 C   r,   r   )r   rR   r-   r=   r/   r   r   r   r)      r1   zGArray.Double.__new__Nr2   r   r   r   r   r>      r6   r>   c                   @   r+   )zGArray.Floatc                 C   r,   r   )r   rR   r-   r?   r/   r   r   r   r)      r1   zGArray.Float.__new__Nr2   r   r   r   r   r@      r6   r@   c                   @   r+   )zGArray.Stringc                 C   r,   r   )r   rR   r-   rA   r/   r   r   r   r)      r1   zGArray.String.__new__Nr2   r   r   r   r   rB      r6   rB   c                   @   r+   )zGArray.Pointc                 C   r,   r   )r   rR   r-   rC   r/   r   r   r   r)      r1   zGArray.Point.__new__Nr2   r   r   r   r   rD      r6   rD   c                   @   r+   )zGArray.Point2fc                 C   r,   r   )r   rR   r-   rE   r/   r   r   r   r)      r1   zGArray.Point2f.__new__Nr2   r   r   r   r   rF      r6   rF   c                   @   r+   )zGArray.Point3fc                 C   r,   r   )r   rR   r-   rG   r/   r   r   r   r)      r1   zGArray.Point3f.__new__Nr2   r   r   r   r   rH      r6   rH   c                   @   r+   )zGArray.Sizec                 C   r,   r   )r   rR   r-   rI   r/   r   r   r   r)      r1   zGArray.Size.__new__Nr2   r   r   r   r   rJ      r6   rJ   c                   @   r+   )zGArray.Rectc                 C   r,   r   )r   rR   r-   rK   r/   r   r   r   r)      r1   zGArray.Rect.__new__Nr2   r   r   r   r   rL      r6   rL   c                   @   r+   )zGArray.Scalarc                 C   r,   r   )r   rR   r-   	CV_SCALARr/   r   r   r   r)      r1   zGArray.Scalar.__new__Nr2   r   r   r   r   Scalar   r6   rT   c                   @   r+   )z
GArray.Matc                 C   r,   r   )r   rR   r-   CV_MATr/   r   r   r   r)      r1   zGArray.Mat.__new__Nr2   r   r   r   r   Mat   r6   rV   c                   @   r+   )zGArray.GMatc                 C   r,   r   )r   rR   r-   CV_GMATr/   r   r   r   r)      r1   zGArray.GMat.__new__Nr2   r   r   r   r   GMat   r6   rX   c                   @   r+   )zGArray.Primc                 C   r,   r   )r   rQ   r-   rM   r/   r   r   r   r)      r1   zGArray.Prim.__new__Nr2   r   r   r   r   rN      r6   rN   c                   @   r+   )z
GArray.Anyc                 C   r,   r   )r   rQ   r-   rO   r/   r   r   r   r)      r1   zGArray.Any.__new__Nr2   r   r   r   r   rP      r6   rP   N)r	   r3   r4   r)   r5   r8   r:   r<   r>   r@   rB   rD   rF   rH   rJ   rL   rT   rV   rX   rN   rP   r   r   r   r   rQ   k   s&    rQ   c                    s  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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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t jjdt jj dt jj"d fdd}|S )Nzcv.gapi.CV_BOOLzcv.gapi.CV_INTzcv.gapi.CV_INT64zcv.gapi.CV_UINT64zcv.gapi.CV_DOUBLEzcv.gapi.CV_FLOATzcv.gapi.CV_STRINGzcv.gapi.CV_POINTzcv.gapi.CV_POINT2Fzcv.gapi.CV_POINT3Fz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 ]\}}|tjtjgvr3t d j|j|q 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 rWt|tjs;td j|tjjt	|j|	 | krVtd j||  |	  q|v rt|tj
sqtd j|tj
jt	|j|	 | krtd j||  |	  q|t	|krtd j||jt	|jqtjj jg| R  }g }tD ]F\}}|tjkr||  q|tjkr||  q|v r|||  q|v r|||  qtd j|j|t |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   rR   r	   typer%   r-   __opoutMetarX   appendgetGMatGScalar
getGScalar
getGOpaque	getGArraytuple)r   itar   
out_protosout_type)r'   garray_typesgopaque_typesin_typesop_id	out_typestype2strr   r   on  sZ   

z&op.<locals>.op_with_params.<locals>.on)
r[   r\   r	   r]   r   rX   re   idstaticmethodru   )r'   rj   rk   ru   ro   rp   rq   rr   rs   rt   r'   r   op_with_params   s   0
zop.<locals>.op_with_params)&r   rQ   r5   r-   r.   r8   r7   r:   r9   r<   r;   r>   r=   r@   r?   rB   rA   rD   rC   rF   rE   rH   rG   rJ   rI   rL   rK   rT   rS   rV   rU   rX   rW   rN   rM   rP   rO   r#   )rr   rq   rs   rz   r   rx   r   r      s   	
	
	
@c                    r   )Nc                    s    j | _  j| _| S r   )rv   rb   ry   op_clsr   r   kernel_with_params:  s   z"kernel.<locals>.kernel_with_paramsr   )r|   r}   r   r{   r   r   8  s   )__all__r   r   r   r   r   r   r   r    r!   r"   r#   rQ   r   r   gapi_wip_gst_GStreamerPipeliner-   wipGStreamerPipeliner   r   r   r   <module>   s0    





>L 