Maison >développement back-end >Tutoriel Python >Python implémente la modification de la couleur d'arrière-plan des photos (avec code)

Python implémente la modification de la couleur d'arrière-plan des photos (avec code)

不言
不言avant
2019-03-21 15:57:396121parcourir

Le contenu de cet article concerne l'implémentation Python de la modification de la couleur d'arrière-plan des photos (avec du code). J'espère que ce sera le cas. utile pour vous.

De nos jours, il existe de nombreux outils Web permettant de modifier la couleur d'arrière-plan en ligne. Comment procéder ? En fait, cela peut être réalisé en utilisant Python.

Exigences en matière d'environnement

Python3
Bibliothèque de fonctions numpy
Bibliothèque opencv

Installation

Téléchargez la version appropriée de la bibliothèque de fonctions numpy, mon ordinateur est WIN10 64 bits, la bibliothèque de fonctions installée est
numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl

Téléchargez la version appropriée de la bibliothèque de fonctions numpy, mon ordinateur est WIN10 64 -bit, installé La bibliothèque de fonctions est
opencv_python-3.3.1-cp36-cp36m-win_amd64.whl

Installez les deux bibliothèques ci-dessus, WIN+R->CMD->CD dans les fichiers où se trouvent le dossier où se trouvent les deux bibliothèques actuelles, entrez les commandes suivantes pour installer étape par étape

pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whl

Adresse de téléchargement des deux fichiers ci-dessus : https://download.csdn.net/dow...

Python implémente la modification de la couleur darrière-plan des photos (avec code)

Code

Créez un nouvel opencv.py dans le dossier actuel, copiez le code suivant

import cv2
import  numpy as np

img=cv2.imread('timg.jpg')
#缩放
rows,cols,channels = img.shape
img=cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
cv2.imshow('img',img)

#转换hsv
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_blue=np.array([90,70,70])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
cv2.imshow('Mask', mask)

#腐蚀膨胀
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)
dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)

#遍历替换
for i in range(rows):
    for j in range(cols):
        if dilate[i,j]==255:
            img[i,j]=(0,0,255)#此处替换颜色,为BGR通道
cv2.imshow('res',img)

cv2.waitKey(0)
cv2.destroyAllWindows()

Instructions

Non. Les quatre lignes de timg.jpg sont le chemin de l'image d'origine
lower_blue=np.array([90,70,70]). ​​​il peut contrôler l'effet traité et le bruit

WIN+R-> ;CMD->CD dans le dossier opencv.py et exécuter

Cet article est partout ici. Pour un contenu plus passionnant, vous pouvez prêter attention à la vidéo du didacticiel Python sur le site Web PHP chinoisColonne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer