Comment convertir une image codée en base64 en format png avec python ?

Exemple de comment sauvegarder une image codée en base64 en format png avec python (le fichier base64.txt utilisé dans cet exemple est disponible [ici](https://www.science-emergence.com/Files/base64/)): import base64 from PIL import Image from io import BytesIO f = open('base64.txt', 'r') data = f.read() f.closed im = Image.open(BytesIO(base64.b64decode(data))) im.save('image.png', 'PNG') donne ici: [image:550 size:50 caption:Convertir avec python une image codée en

Obtenir le chemin du répertoire courant avec python

Avec python on peut facilement obtenir le chemin du répertoire courant en utilisant la fonction getcwd() du module [os](https://docs.python.org/2/library/os.html), exemple: >>> import os >>> os.getcwd() '/Users/toto/Desktop' Pour obtenir le chemin du répertoire courant dans un script python: from os import path as os_path PATH = os_path.abspath(os_path.split(__file__)[0]) Path donne ici le chemin complet d'où est lancé le script. ### Recherches associées Liens | Site

Mettre une image en fond dans un canvas sous HTML5

Pour mettre une image de fond ("background image") dans un canvas sous HTML5 il existe plusieurs solutions le plus simple est d'utiliser l'attribut background: url(image.png) dans la balise canvas. Illustration: [image:549 size:100 caption:Mettre une image en fond dans un canvas sous HTML5] <!DOCTYPE html> <html> <body> <canvas id="tools_sketch" width="512" height="512" style="background: url(lena.png) no-repeat center center; border:10px solid #000000;"> </canvas> </body>

Diviser deux nombres entiers sous python

Attention sous python (v < 3) quand on divise deux entiers on obtient un nombre arrondi à la valeur entière immédiatement inférieure. Par exemple: >>> a = 1 >>> b = 2 >>> c = a / b >>> c 0 1/2 donne ici 0 au lieu de 0.5. Note: c est de type float: >>> type(a) <type 'int'> >>> type(b) <type 'int'> >>> type(c) <type 'float'> Pour obtenir un nombre décimal il existe plusieurs solutions: Solution 1: >>> c = 1.0 * a / b >>> c 0.5 Solu

Erreur python: SyntaxError: Non-ASCII character '\x8e' in file...

L'une des erreurs les plus courantes lorsque l'on veut utiliser dans un script python des accents (Note: voir l'article sur [Afficher / Travailler avec les accents sous python](http://www.science-emergence.com/Python/PythonFAQ/PythonAccents/)). Imaginons le simple script python (intitulé ici: TestCode.py) suivant: print "J'ai tout mangé le chocolat" en executant ce code vous allez obtenir le message suivant: % python TestCode.py File "TestCode.py", line 1 print u"

Python 2.7 (tutoriel)

Introduction ------------------ [image:68 size:100 caption:Logo Python ([image source](http://en.wikipedia.org/wiki/Python_(programming_language)))] **C'est quoi python ?**: Python est un langage de programmation dont le développement a commencé dans les années 90 avec un hollandais nommé Guido van Rossum. La version actuelle de python est la 3.3, mais la version 2.7 est encore très largement utilisée, principalement pour des raisons de compatibilités avec certaines bibliothèques. La particul

Tracer une matrice de confusion avec matplotlib

Exemple de comment tracer une [matrice de confusion](http://fr.wikipedia.org/wiki/Matrice_de_confusion) avec matplotlib: [image:548 size:100 caption:Tracer une matrice de confusion avec matplotlib] # -*- coding: utf-8 -*- # Source: http://azaleasays.com/2010/04/29/matplotlib-example-color-mesh/ from numpy import * import matplotlib import numpy as np import matplotlib.pyplot as plt import math font = {'size' : 16} matplotlib.rc('font', **font) def sqrt_sym(x): '''A funct

Comment additionner tous les éléments d'une liste sous python ?

Exemples de comment additionner tous les éléments d'une liste sous python: [TOC] ### Additionner tous les éléments d'une liste avec la fonction sum() Pour sommer tous les éléments d'une liste sous python il existe la fonction "Built-in" [sum()](https://docs.python.org/2/library/functions.html), illustration: >>> list = [1,2,3,4] >>> sum(list) 10 avec des nombres décimaux: >>> l = [3.1,2.5,6.8] >>> sum(l) 12.399999999999999 on peut aussi arrondir l

Multiplier tous les éléments d'une liste par un entier sous python

Pour multiplier tous les éléments d'une liste par un entier sous python il suffit de procéder comme dans cet exemple: >>> list = [1,2,3,4] >>> list = [i*10 for i in list] >>> list [10, 20, 30, 40] ### Recherches associées Liens | Site ------------- | ------------- [Great Python Tricks for avoiding unnecessary loops in your code](http://forums.udacity.com/questions/1002566/great-python-tricks-for-avoiding-unnecessary-loops-in-your-code) | udacity

Comment copier une liste sous python ?

Pour copier une liste avec python on peut utiliser la fonction build-in [list()](https://docs.python.org/2/library/functions.html#list), exemple: >>> L1 = ['a','b','c','d','e','f'] >>> L2 = list(L1) >>> L2 ['a', 'b', 'c', 'd', 'e', 'f'] Autre solution utiliser une "list comprehension", exemple >>> L1 = ['a','b','c','d','e','f'] >>> L2 = [i for i in L1] >>> L2 ['a', 'b', 'c', 'd', 'e', 'f'] **Attention**: pour copier une liste il ne faut pas utili

Sommer tous les éléments d'une matrice avec python

Sous python, il est possible de sommer tous les éléments d'une matrice en passant par la fonction [sum](http://docs.scipy.org/doc/numpy/reference/generated/numpy.sum.html) de numpy, illustration: >>> import numpy as np >>> M = np.array([[1, 2], [3, 4]]) >>> M array([[1, 2], [3, 4]]) >>> np.sum(M) 10 marche aussi avec une matrice de nombres réel: >>> M = np.array([[1.0, 2.0], [3.1, 4.4]]) >>> np.sum(M) 10.5 ### Recherches associées Lie

Retrouver les indices d'une matrice ou une condition est vérifiée sous python

Avec numpy il existe la fonction [where](http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html) pour retrouver les indices des éléments d'une matrice vérifiant une condition donnée. Considérons la matrice M=[4,1,8,6,2,1], on veut retrouver l'indice de l'élément ou M=2, dans ce cas la fonction where donne 4 car l'élément est sur la quatrième colonne (Rappel: base 0 par défaut sous python) >>> import numpy as np >>> M = np.array([4,1,8,6,2,1]) >>> np.where(M == 2)

Détecter les contours d'une image avec un filtre de Canny sous python

Pour détecter les contours d'une image avec un filtre de Canny le plus simple est d'utiliser le module [scikit-image](http://scikit-image.org) (aller [ici](http://scikit-image.org/download.html) pour installer le module ), exemple avec l'image Lena: [image:545 size:100 caption:Detecter les contours d'une image avec un filtre de Canny sous python (lena_grayscale.png)] [image:546 size:100 caption:Detecter les contours d'une image avec un filtre de Canny sous python : sigma=1] [image:547 siz

Comment ajouter du texte sur une image avec PIL

Dans cet article on va voir comment ajouter facilement du texte à une figure avec la librairie python sur le traitement d'image [PIL](http://www.pythonware.com/products/pil/). C'est un exercice intéressant et qui peut se révéler pratique dans de nombreuses situations. Notamment dans le cas où on souhaite, par exemple, modifier rapidement des figures générées avec matplotlib sans vouloir relancer l'ensemble des codes. Considérons un exemple simple (réalisé sous MAC: veuillez modifier le chemin ve

Appliquer un filtre de Gauss à une image avec python

Pour appliquer un filtre de Gauss à une image il existe dans le module scipy de python la fonction: [gaussian_filter](https://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.ndimage.filters.gaussian_filter.html). Exemple d'utilisation: [image:541 size:100 caption:Appliquer un filtre de Gauss à une image avec python (exemple 1)] import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mpimg import scipy.ndimage import scipy img = scipy.misc.lena() prin

Evaluer Pi avec Monte Carlo (python)

Exemple d'algorithme pour évaluer pi en utilisant la méthode de Monte Carlo: [image:540 size:100 caption:Evaluer Pi avec un algorithme de Monte Carlo (python)] from random import uniform import numpy as np import matplotlib.pyplot as plt Radius = 1.0 Nb_Data = 10000 x_list = [] y_list = [] test = [] Nb_Data_In = 0 for i in range(Nb_Data): x = uniform(-Radius,Radius) y = uniform(-Radius,Radius) x_list.append(x) y_list.append(y) if x**2+y**2 > Radius**2: test.append(0

Calculer l'information mutuelle avec python

Exemple de comment calculer l'information mutuelle en passant par python. (l'objectif ici est de développer un filtre pour sélectionner un ensemble de caractéristiques dans le cadre de l'apprentissage automatique voir: [An Introduction to Variable and Feature Selection](http://www.jmlr.org/papers/volume3/guyon03a/guyon03a.pdf)). Note: le module python scikit learn permet aussi de calculer l;information mutuelle ([voir](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.mutual_info_

Comment retourner / inverser verticalement une image en python ?

Exemples de comment retourner / inverser une image avec numpy sous python: [TOC] ### Obtenir une image retournée avec pillow Pour retourner une image avec pillow une solution est d'utiliser la fonction [rotate()](https://pillow.readthedocs.io/en/3.1.x/reference/Image.html), exemple: from PIL import Image im = Image.open("eiffel_tower.jpg") im = im.rotate(180) im.save("eiffel_tower_fliped_vertically.jpg") [images:eiffel-tower;eiffel-tower-fliped-vertically dim:1*2 size

Permuter deux lignes d'une matrice avec numpy sous python

Exemple de comment permuter deux lignes d'une matrice avec numpy sous python (on cherche ici à permuter les lignes d'indice 1 et 2 de la matrice M): >>> import numpy as np >>> M = np.arange(20).reshape(4,5) >>> M array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]]) >>> T = M[1,:].copy() >>> M[1,:] = M[2,:] >>> M[2,:] = T >>> M array([[ 0, 1, 2, 3, 4], [10, 11, 12, 13, 14],

Remplacer des éléments d'une matrice avec numpy

Avec numpy il existe plusieurs possibilités pour changer les éléments d'une matrice. Supposons par exemple que l'on veuille remplacer les éléments strictement plus grand que 5 par -1 de la matrice M, dans ce cas il suffit d'utiliser la syntaxe suivante M[M > 5 ] = -1, illustration: >>> import numpy as np >>> M = np.arange(10) >>> M array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> M[M > 5 ] = -1 >>> M array([ 0, 1, 2, 3, 4, 5, -1, -1, -1, -1]) Maintenant

Supprimer une ligne d'un matrice avec numpy sous python

Avec Numpy il existe plusieurs façons de supprimer une ou plusieurs lignes d'une matrice. Le plus simple est d'utiliser la fonction [delete](http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html), illustration: >>> import numpy as np >>> Mi = np.array([[1, 2, 3], [4, 100, 6], [100,1,2], [12, 100, 50]]) >>> print Mi [[ 1 2 3] [ 4 100 6] [100 1 2] [ 12 100 50]] >>> print Mi.shape (4, 3) >>> M = np.delete(Mi, (2), axis=0)

SPLOM graphique avec Matplotlib

Dans cet article on va voir un exemple de graphique SPLOM (Scatter Plot Matrices) réalisé avec Matplotlib. Les graphiques SPLOM sont utilisés en statistique descriptive et également dans le domaine de l'apprentissage automatique (ou machine learning) pour la sélection de caractéristiques. Dans cet exemple (SPLOM de taille (2,2) pour deux caractéristiques: x1 et x2 avec deux classes notées c1 et c2), un premier script python trace tous les éléments de la matrice qui sont donc ici au nombre de 4 (

Ajouter une bordure autour d'une image avec PIL

Avec le module PIL de python qui permet de travailler avec des images, il est possible de rajouter une bordure, illustration avec un simple script intitulé ici "PIL_Add_Pad.py" [image:527 size:100 caption:Fig.1: Ajouter une bordure autour d'une image avec PIL (image initiale)] [image:528 size:100 caption:Fig.2: Ajouter une bordure autour d'une image avec PIL (image modifiée)] from PIL import Image print "Nom de l'image:", ImageName = raw_input() im = Image.open(ImageName) im_size

Effacer une partie d'une image Matplotlib avec PIL ?

Exemple d'utilisation de [PIL](http://www.pythonware.com/products/pil/) pour effacer la colormap d'une figure réalisée avec Maptlotlib (Note: la figure en sortie conserve sa dimension initiale). [image:402 size:100 caption:input.png] [image:403 size:100 caption:output.png] import Image im = Image.open("input.png") #Can be many different formats. pix = im.load() print im.size #Get the width and hight of the image for iterating over x = 10 y = 10 x_ll = 1026 x = x_l

Déterminer l'adresse IP d'un site depuis son nom de domaine (DNS) avec python

Avec python, il est possible de déterminer l'adresse IP d'un site depuis son nom de domaine (DNS) en utilisant le module [socket](https://docs.python.org/2/library/socket.html) de python, illustration: >>> import socket >>> socket.gethostbyname('www.wikipedia.org') '208.80.154.224 >>> socket.gethostbyname('openclassrooms.com') '162.159.247.194' ### Recherches associées Liens | Site ------------- | ------------- [socket — Low-level networking interface](https://docs.python