C'est Kyapu-chan (CAPTCHA)
Kyawawa
Allez OPPAI La personne qui a dessiné le plus beau OPPAI en Python gagne
** Non **
** Non **
** Stupide **
** Pokupittsu **
** 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)
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.
・ 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