
    lf                         d dl Z d dlZd dlmZ d dlZd dlZd dlZd dlm	Z	 d dlm
Z
 d dlmZ d Zd Zd Zd	 Zd
 Zd Zd Zd Zy)    Nrender)settings)redirectHttpResponsec                     t        d      S )Nz(Hello, world. You're at the polls index.r   requests    W/home/adrianocarvalho/Documentos/ProjetoGabaritoNovo/gabarito/gabarito_imagens/views.pyindexr      s    BCC    c                     t        | d      S )Nz
index.htmlr   r
   s    r   homer      s    '<((r   c                     t        | d      S )Ntransformacao.htmlr   r
   s    r   	transformr      s    '/00r   c                 `    g }t        j                  |       D ]  }|j                  |        |S )N)oslistdirappend)	directory	filenamesfilenames      r   read_directoriesr      s3    IJJy) !x !r   c                 >   t        j                  | dd      }t        j                  |t         j                  t         j                        \  }}t        j                  |       }|r5t        |t         j                        }t        j                  ||gddd       | ||fS )N2      key)   r"   r"      )
cv2CannyfindContoursRETR_EXTERNALCHAIN_APPROX_SIMPLEnp
zeros_likemaxcontourAreadrawContours)imageedgescontours_contour_imagelargest_contours         r   detecta_borda_principalr4   "   s     IIeR%E ""5#*;*;S=T=TUKHa MM%(M hCOO<(92PQR-))r   c                     t        j                  |       }t        j                  |      }t        j                  |      }|d   }|dkD  r
d|z
   }||fS |}||fS )Nr#   -   Z   )r$   minAreaRect	boxPointsr)   intp)contourrectboxanglnews        r   calculate_main_border_angler@   5   s_    ??7#D
--
C
''#,C 7Dby4jCxCxr   c                 \    | d   \  }}| d   \  }}||z   }||z   }||k  r| d   }|S | d   }|S )Nr       )vetorxyx1y1somasoma1menors           r   retorna_menorrL   E   sU    
(CAa!HEBrq5DGEe|a L AheLr   c                    | j                   dk(  rt        | d      S | j                   dk(  r-| j                  j                  d      }t	        j
                         }t        j                  |d      5 }|D ]  }|j                         }t        j                  |t        j                        }t        j                  |t        j                        }t        j                  |dd      }t        j                   |d      }	t#        |	      \  }
}}|r*t%        |t        j&                  	      }t)        |      \  }}nd }|	j*                  d d
 \  }}|d
z  |d
z  f}t        j,                  ||d      }t        j.                  |	|||f      }t#        |      \  }
}}t%        |t        j&                  	      }t)        |      \  }}t1        |      }|d   }|d   }||dz   d|dz   df   }t        j2                  d|      \  }}|j5                  |j6                   |j9                                 	 d d d        |j;                  d       t=        |d      }d|d<   |S y # 1 sw Y   /xY w)NGETr   POSTzgabaritos[]w)   rQ   r   )i  ic  r   r#   g      ?rB   rQ   i)  i  z.pngzapplication/zip)content_typez*attachment; filename="modified_images.zip"zContent-Disposition)methodr   FILESgetlistioBytesIOzipfileZipFilereadr)   
frombufferuint8r$   imdecodeIMREAD_GRAYSCALEGaussianBlurresizer4   r+   r,   r@   shapegetRotationMatrix2D
warpAffinerL   imencodewritestrnametobytesseekr   )r   files
zip_bufferzip_filefile
file_bytesnp_arrr.   blurred_imageimage_resizedoriginal_imager2   r0   r3   angler=   hrP   centerrotation_matrixrotated_imageminimolinhacolunacropped_rectr1   bufferresponses                               r   	ler_pastar}   P   sN   %w 45	5
..F
"%%m4ZZ\
 __Z- 2	D 1D "YY[
 z288< VS-A-AB !$ 0 0 B #

=+ F:QR_:`7x &)(&HO!<_!MJE3 E ',,Ra0Aq&!q&)"%"9"9&53"O #}oPQSTv V ;RR_:`7x"%hCOO"D8I
s&s+q	,U1WT\6!8C<-GH  LL>	6 !!TYYK&..2BCc1D2	Dj 	  
9JK*V&' E #2	D 2	Ds   1F:II#)rV   rX   django.shortcutsr   numpyr)   r   r$   django.confr   r   django.httpr   r   r   r   r   r4   r@   rL   r}   rC   r   r   <module>r      sJ    	  #  	 
   % $D)1*& 	Fr   