推广 热搜: page  关键词  数据分析  服务  哪些  数据分析系统  搜索  获取  小红  链接 

python怎么换背景颜色_详解Python给照片换底色(蓝底换红底)

   日期:2025-01-02     作者:c80l7    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/14864.html
核心提示:现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现。 环境要求 Python3 numpy函数库 opencv

现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现。

环境要求

Python3

numpy函数库

opencv库

安装

下载适应版本的numpy函数库,我电脑是WIN10 64位,安装的函数库是

numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl

下载适应版本的opencv库,我电脑是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

以上两个文件下载地址

numpy下载:https://www.ddpool.cn/softs/574953.html

opencv下载 :https://www.ddpool.cn/softs/333884.html

代码

在当前文件夹新建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文件夹,运行

DEMO

动图演示

本文地址:https://sicmodule.kub2b.com/news/14864.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号