詳解Python給照片換底色(藍(lán)底換紅底)
現(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è)文件下載地址:
numpy下載:http://www.dbjr.com.cn/softs/574953.html
opencv下載 :http://www.dbjr.com.cn/softs/333884.html
代碼
在當(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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Numpy實(shí)現(xiàn)矩陣運(yùn)算及線性代數(shù)應(yīng)用
這篇文章主要介紹了Numpy實(shí)現(xiàn)矩陣運(yùn)算及線性代數(shù)應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Python使用自帶的ConfigParser模塊讀寫ini配置文件
這篇文章主要介紹了Python使用自帶的ConfigParser模塊讀寫ini配置文件的方法,ConfigParser中包含了對(duì)ini的節(jié)section的一些基本操作,使得改寫ini時(shí)非常簡(jiǎn)便,需要的朋友可以參考下2016-06-06python數(shù)組中的?k-diff?數(shù)對(duì)例題解析
這篇文章主要介紹了python數(shù)組中的?k-diff?數(shù)對(duì)例題解析,文章根據(jù)題目?jī)?nèi)容對(duì)其進(jìn)行分析以此展開主題內(nèi)容,感興趣的小伙伴可以參考一下下面文章詳情2022-06-06Django JSonResponse對(duì)象的實(shí)現(xiàn)
本文主要介紹了Django JSonResponse對(duì)象的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python自定義命令行參數(shù)選項(xiàng)和解析器
這篇文章主要介紹了Python自定義命令行參數(shù)選項(xiàng)和解析器,本文主要使用的方法為argparse.ArgumentParser(),此模塊可以讓人輕松編寫用戶友好的命令行接口,程序定義它需要的參數(shù),需要的朋友可以參考下2023-07-07Pandas之缺失數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Pandas之缺失數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01手把手教你使用Python解決簡(jiǎn)單的zip文件解壓密碼
本文主要介紹了Python解決簡(jiǎn)單的zip文件解壓密碼,使用的核心模塊是python標(biāo)準(zhǔn)庫(kù)中的zipfile模塊。具有一定的參考價(jià)值,感興趣的可以了解一下2021-11-11OpenCV里的imshow()和Matplotlib.pyplot的imshow()的實(shí)現(xiàn)
這篇文章主要介紹了OpenCV里的imshow()和Matplotlib.pyplot的imshow()的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11如何使用python檢測(cè)某網(wǎng)盤鏈接是否有效
這篇文章主要為大家介紹了使用python檢測(cè)某網(wǎng)盤鏈接是否有效的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01