python黑屏改成白底_详解Python给照片换底色(蓝底换红底)
現(xiàn)在網(wǎng)上出現(xiàn)了很多在線換底色的網(wǎng)頁(yè)版工具是這么做的呢?其實(shí)用Python就可以實(shí)現(xiàn)。
環(huán)境要求
Python3
numpy函數(shù)庫(kù)
opencv庫(kù)
安裝
下載適應(yīng)版本的numpy函數(shù)庫(kù),我電腦是WIN10 64位,安裝的函數(shù)庫(kù)是
numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
下載適應(yīng)版本的opencv庫(kù),我電腦是WIN10 64位,安裝的庫(kù)是
opencv_python-3.3.1-cp36-cp36m-win_amd64.whl
安裝以上兩個(gè)庫(kù),WIN+R->CMD->CD到當(dāng)前兩個(gè)庫(kù)所在的文件夾,輸入以下命令逐步安裝
pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
pip install opencv_python-3.3.1-cp36-cp36m-win_amd64.whl
以上兩個(gè)文件下載地址:
代碼
在當(dāng)前文件夾新建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)
#轉(zhuǎn)換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()
說(shuō)明
第四行timg.jpg是原圖片路徑
lower_blue=np.array([90,70,70])里面三個(gè)數(shù)值可以控制好處理出來(lái)的效果和噪點(diǎn)
WIN+R->CMD->CD到opencv.py文件夾,運(yùn)行
DEMO
動(dòng)圖演示
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
總結(jié)
以上是生活随笔為你收集整理的python黑屏改成白底_详解Python给照片换底色(蓝底换红底)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Unity3d 改变场景中钢体对象重力(
- 下一篇: 【EMC】EMC整改方法