如今网上涌现了许多在线换底色的网页版东西是这么做的呢?其有用Python就能够完成。
环境请求
Python3
numpy函数库
opencv库
装置
下载顺应版本的numpy函数库,我电脑是WIN10 64位,装置的函数库是
numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
下载顺应版本的numpy函数库,我电脑是WIN10 64位,装置的函数库是
opencv_python-3.3.1-cp36-cp36m-win_amd64.whl
装置以上两个库,WIN+R->CMD->CD到当前两个库地点的文件夹,输入以下敕令逐渐装置
pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whl
以上两个文件下载地点:https://download.csdn.net/dow...
代码
在当前文件夹新建opencv.py,拷贝以下代码
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()
申明
第四行timg.jpg是原图片途径
lower_blue=np.array([90,70,70])内里三个数值能够掌握优点理出来的结果和噪点
WIN+R->CMD->CD到opencv.py文件夹,运转
本篇文章到这里就已悉数完毕了,更多其他精彩内容能够关注ki4网的python教程视频栏目!
以上就是Python完成给照片换底色(附代码)的细致内容,更多请关注ki4网别的相干文章!