[Jouons avec Python] Traitement d'image en monochrome et points

introduction

Je voulais bientôt changer l'image de mon compte SNS, alors je l'ai fait avec Python. Laissez le code. Le contenu est le suivant

--Charger l'image

Sera. Il n'y a pas beaucoup d'attention, mais la conversion de points prendra un certain temps. (Environ 1 minute? Selon les spécifications de l'ordinateur)

Préparation

Veuillez noter les points suivants lors de l'exécution par vous-même.

--Téléchargez l'image originale

Charger l'image

Préparez et chargez l'image. Je le fais sur le notebook Jupiter. Dans ce cas, préparez une image et téléchargez-la à l'avance sur Notebook.

import numpy as np
import matplotlib.pyplot as plt
import cv2

#Chargement des images
img = plt.imread('shiro.jpg') 
type(img) 
img.size
plt.imshow(img) #Affichage de l'image
plt.show()

Ceci est l'image originale. 2020-02-24 (2).png

Traitement et sortie monochromes

Ensuite, le traitement monochrome (noir et blanc) est effectué et sorti.

def img_show(img : np.ndarray, cmap = 'gray', vmin = 0, vmax = 255, interpolation = 'none') -> None: 
    plt.imshow(img, cmap = cmap, vmin = vmin, vmax = vmax, interpolation = interpolation) #Afficher l'image
    plt.show()
    plt.close()
    img = plt.imread('shiro.jpg')

img_mid_v = np.max(img, axis = 2)/2 +np.min(img, axis = 2)/2
img_show(img_mid_v)
img = plt.imread('shiro.jpg')

2020-02-24.png

Point

Faites des points. Il peut être intéressant de jouer avec le nombre "dst = pixel_art (img, 0.1, 4)" comme vous le souhaitez. Une fois exécuté, un fichier tel que "hiro_mozaiku.jpg " sera envoyé vers Jupiter Notebook.

#Traitement de réduction de couleur
def sub_color(src, K):   
    Z = src.reshape((-1,3))
    Z = np.float32(Z)
    criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
    ret, label, center = cv2.kmeans(Z, K, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)
    center = np.uint8(center)
    res = center[label.flatten()]
    return res.reshape((src.shape))

#Traitement de la mosaïque
def mosaic(img, alpha):
    h, w, ch = img.shape
    img = cv2.resize(img,(int(w*alpha), int(h*alpha)))
    img = cv2.resize(img,(w, h), interpolation=cv2.INTER_NEAREST)
    return img

#Peinture par points
def pixel_art(img, alpha=2, K=4):
    img = mosaic(img, alpha)
    return sub_color(img, K)
#Obtenir l'image d'entrée
img = cv2.imread("shiro.jpg ") 

#Pictogramme de points Rugosité de l'image,Rugosité des couleurs
dst = pixel_art(img, 0.1, 4)
    
#Résultat de sortie
cv2.imwrite("shiro_mozaiku.jpg ", dst)

from PIL import Image
mozaiku_shiro = Image.open('shiro_mozaiku.jpg')
mozaiku_shiro

2020-02-24 (1).png

Bavarder

J'ai l'impression d'avoir fait quelque chose d'assez bon. C'est une photo de quand je suis parti en voyage, mais il semble que des bâtiments tels que des châteaux puissent être convertis en points de mosaïque. A part ça, je ne sais pas ce qu'il adviendra des gens et des paysages, mais il peut être intéressant de l'essayer.

Recommended Posts

[Jouons avec Python] Traitement d'image en monochrome et points
Fractal pour faire et jouer avec Python
Traitement d'image avec Python
Traitement d'image avec Python (partie 2)
Traitement d'image avec Python (partie 1)
Traitement d'image avec Python (3)
[Python] Traitement d'image avec scicit-image
Remarques sur le traitement d'images HDR et RAW avec Python
Traitement d'image avec la binarisation Python 100 knocks # 3
Jouons avec Excel avec Python [Débutant]
Faisons du scraping d'images avec Python
100 traitement d'image par Python Knock # 2 Échelle de gris
Bases du traitement d'images binarisées par Python
[Introduction à WordCloud] Jouez avec le scraping ♬
mail html avec image à envoyer avec python
100 traitement d'image avec Python Knock # 8 Max Pooling
Introduction au remplissage d'image Python Remplissage d'image à l'aide d'ImageDataGenerator
[Introduction à Python] Utilisons foreach avec Python
Traitement d'image avec Python et OpenCV [Tone Curve]
Traitement d'image par Python 100 knock # 12 motion filter
Je veux jouer avec aws avec python
Dessin avec Matrix-Reinventor of Python Image Processing-
Traitez facilement des images en Python avec Pillow
Traitement d'image avec Python 100 knocks # 7 pooling moyen
Traitement d'image léger avec Python x OpenCV
Traitement d'image par Python 100 knock # 9 Filtre Gaussien
Exemple de conversion en ondelettes d'images en Python
Jouez avec 2016-Python
Créons un modèle de reconnaissance d'image avec vos propres données et jouons!
Jeu à la main en Python (commençons avec AtCoder?)
Grattage de la nourriture avec python et sortie en CSV
[REAPER] Comment jouer à Reascript avec Python
Convertir un PDF en image (JPEG / PNG) avec Python
Texte de l'image et publication sur slack (python slackbot)
Traitement d'image à partir de zéro avec python (5) Transformation de Fourier
Comment recadrer une image avec Python + OpenCV
Traitement d'image à partir de zéro avec python (4) Extraction de contour
Traitement d'image avec la configuration de l'environnement Python pour Windows
Contrôlons les moteurs et capteurs EV3 avec Python
Jouons avec Python Receive et enregistrez / affichez le texte du formulaire de saisie
Traitement d'image avec MyHDL
Premier traitement d'image Python
Traitement d'image avec PIL
Procédure pour charger MNIST avec python et sortie en png
Comment récupérer des données d'image de Flickr avec Python
Je veux gérer l'optimisation avec python et cplex
[Jouons avec Python] Créer un livre de comptes de ménage
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
Introduction au traitement parallèle distribué Python par Ray
Essayez de créer un jeu simple avec Python 3 et iPhone
Convertissez l'image au format .zip en PDF avec Python
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
Jouons avec JNetHack 3.6.2 qui est plus facile à compiler!
Comment boucler et lire une vidéo gif avec openCV
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Piyopiyokai # 1] Jouons avec Lambda: création d'un script Python
[Comment!] Apprenez et jouez à Super Mario avec Tensorflow !!
[Python] Road to the Serpent (5) Jouez avec Matplotlib