[PYTHON] Je veux que CAPTCHA dise des mots HIWAI

Y a-t-il CAPTCHA? C'est mignon, n'est-ce pas mignon! ?? !! ?? (confusion)

C'est Kyapu-chan (CAPTCHA) image.png

Kyawawa

Allez OPPAI La personne qui a dessiné le plus beau OPPAI en Python gagne

résultat

** Non ** image.png

** Non ** image.png

** Stupide ** image.png

** Pokupittsu ** image.png

code

** Création de texte **

py.py



import PIL.Image
import PIL.ImageDraw
import PIL.ImageFont
import cv2
import numpy as np
import matplotlib.pyplot as plt

#Paramètres de police, de taille et de texte à dessiner
ttfontname = "/System/Library/Fonts/Supplemental/Arial Unicode.ttf"
fontsize = 36
text = "Pokupittsu"

#Définir la taille de l'image, la couleur d'arrière-plan, la couleur de la police
canvasSize    = (300, 150)
backgroundRGB = (255, 255, 255)
textRGB       = (0, 0, 0)

#Créer une image pour dessiner des personnages
img  = PIL.Image.new('RGB', canvasSize, backgroundRGB)
draw = PIL.ImageDraw.Draw(img)

#Dessinez une chaîne de caractères sur l'image préparée
font = PIL.ImageFont.truetype(ttfontname, fontsize)
textWidth, textHeight = draw.textsize(text,font=font)
textTopLeft = (canvasSize[0]//6, canvasSize[1]//2-textHeight//2) #1 de l'avant/6, placé au centre du haut et du bas
draw.text(textTopLeft, text, fill=textRGB, font=font)

img.save(text + ".png ")

** Déformer l'image **

py.py



img_BGR = cv2.imread("Pokupittsu.png ")
img_RGB = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2RGB)
height = np.shape(img_RGB)[0]
width = np.shape(img_RGB)[1]
img_RGB_2 = img_RGB.copy()

#Spécification du centre et du rayon
center = np.array((50,50))
r = 100

#Convertir les coordonnées des pixels
for x in range(width):
    for y in range(height):
        #Distance du centre
        d = np.linalg.norm(center - np.array((y,x)))
        #S'il est plus petit que le rayon, les coordonnées sont converties.
        if d < r:
            #vecteur est un vecteur de conversion.
            vector = (d / r)**1.4 * (np.array((y,x)) - center)
            #Convertir les coordonnées converties en entiers
            p = (center + vector).astype(np.int32)
            #Remplacement des données de couleur
            img_RGB_2[y,x,:]=img_RGB[p[0],p[1],:]

** Images de superposition **

py.py



img1 = cv2.imread('CHAPCHA.png')
img2 = img_RGB_2

img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)

img1 =cv2.resize(img1,(600,600))
img2 =cv2.resize(img2,(200,80))

#Spécifiez la position de décalage comme référence pour la position où les images se chevauchent
x_img=200
y_img=320

img1[y_img:y_img+img2.shape[0], x_img:x_img+img2.shape[1]]=img2

cv2.imwrite(text + "2.png ",img1)

Résumé

CAPTCHA est mignon Vous pouvez également créer des motifs de provocation, donc si vous avez tendance à le faire, venez

Les gens qui veulent faire dire à Kyapu les mots HIWAI sont enthousiasmés par LGTM, non, ceux qui ne jurent que par Kyapu! Les gens demandent des commentaires Si vous y réfléchissez, vous devriez suivre LGTM.

référence

・ En fait, cela <a target = "_ blank" href = "https://www.amazon.co.jp/gp/product/4061538292/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4061538292&linkCode=as2&tag=samur57d8bim-22&tag=samur57b32821 > Introduction au traitement d'image avec OpenCV Revised 2nd Edition (KS Information Science Specialized Book) <img src = "// ir-jp.amazon-adsystem.com/e/ir?t=samuragouchim-22&l=am2&o= 9 & a = 4061538292 "width =" 1 "height =" 1 "border =" 0 "alt =" "style =" border: none! Important; margin: 0px! Important; "/>

・ Ma bible <a target = "_ blank" href = "https://www.amazon.co.jp/gp/product/4797393165/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4797393165&linkCode=as2&tag=samuragbim-22 > Apprendre systématiquement à créer une application Web sécurisée 2e édition Pratique des principes et contre-mesures de création de vulnérabilités <img src = "// ir-jp.amazon-adsystem.com/e/ir?t=" samuragouchim-22 & l = am2 & o = 9 & a = 47793393165 "width =" 1 "height =" 1 "border =" 0 "alt =" "style =" border: none! Important; margin: 0px! Important; "/>

Convertir la chaîne de caractères en image ・ J'ai essayé d'utiliser python pour déformer l'image comme si elle laissait tomber des gouttes d'eau

Recommended Posts

Je veux que CAPTCHA dise des mots HIWAI
Même les débutants veulent dire "Je comprends parfaitement Python"
Je veux résoudre SUDOKU
Je veux dire qu'il y a un prétraitement des données ~
Je veux gratter des images et les former
Je veux faire ○○ avec les Pandas
Je veux copier l'annotation de yolo
Je veux épingler Spyder à la barre des tâches
Je veux détecter des objets avec OpenCV
Je veux sortir froidement sur la console
Je veux imprimer dans la notation d'inclusion
Je veux les gratter tous ensemble.
Je veux gérer la rime part1
Je veux savoir comment fonctionne LINUX!
Je veux écrire un blog avec Jupyter Notebook
Je veux gérer la rime part3
Je veux utiliser jar de python
Je veux créer un environnement Python
Je veux utiliser Linux sur mac
Je veux installer Python avec PythonAnywhere
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Je souhaite utiliser la console IPython Qt
Je veux afficher la barre de progression
Je veux faire un programme d'automatisation!
Je veux intégrer Matplotlib dans PySimpleGUI
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Je veux faire de matplotlib un thème sombre
Je souhaite me connecter à PostgreSQL à partir de plusieurs langues
Je veux faire le test de Dunnett en Python
Je veux pouvoir penser à la récurrence
Je souhaite créer facilement un modèle de bruit
Je veux utiliser MATLAB feval avec python
Je veux INSÉRER un DataFrame dans MSSQL
Je veux créer une fenêtre avec Python
Quoi qu'il en soit, je veux vérifier facilement les données JSON
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
[Python] Je veux gérer 7DaysToDie depuis Discord! 1/3
Je souhaite afficher plusieurs images avec matplotlib.
Je veux faire un jeu avec Python
Je veux visualiser les fichiers csv en utilisant Vega-Lite!
Je veux gérer la rime part7 (BOW)
Je veux être OREMO avec setParam!
Je ne veux pas passer un test de codage
Je souhaite stocker les informations de la base de données dans la liste
Je veux fusionner des dictionnaires imbriqués en Python
Je veux faire des crises de ma tête
Je veux gérer systemd par fuseau horaire! !!
Je souhaite utiliser le répertoire temporaire avec Python2
Je veux obtenir les données de League of Legends ③
Je ne veux pas utiliser -inf avec np.log
#Unresolved Je veux compiler gobject-introspection avec Python3
Je souhaite créer un type d'implémentation pouvant être branché
Je souhaite utiliser ip vrf avec SONiC
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux recommencer avec Migrate de Django