详解Python给照片换底色(蓝底换红底)


Posted in Python onMarch 22, 2019

现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用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://3water.com/softs/574953.html

opencv下载 :https://3water.com/softs/333884.html

详解Python给照片换底色(蓝底换红底)

代码

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

详解Python给照片换底色(蓝底换红底)

动图演示

详解Python给照片换底色(蓝底换红底)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python pickle 和 shelve模块的用法
Sep 16 Python
用Python遍历C盘dll文件的方法
May 06 Python
pygame播放音乐的方法
May 19 Python
python实现xlsx文件分析详解
Jan 02 Python
python numpy格式化打印的实例
May 14 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
Python类中方法getitem和getattr详解
Aug 30 Python
python基于K-means聚类算法的图像分割
Oct 30 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
Python 忽略文件名编码的方法
Aug 01 Python
详解python-图像处理(映射变换)
Mar 22 #Python
python中如何使用分步式进程计算详解
Mar 22 #Python
浅谈Python基础—判断和循环
Mar 22 #Python
浅谈python常用程序算法
Mar 22 #Python
python实现移位加密和解密
Mar 22 #Python
python实现可逆简单的加密算法
Mar 22 #Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 #Python
You might like
php中文字符截取防乱码
2008/03/28 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
浅谈php调用python文件
2019/03/29 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
python操作列表的函数使用代码详解
2017/12/28 Python
Python读取csv文件实例解析
2019/12/30 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
建筑设计师岗位职责
2013/11/18 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
健康教育评估方案
2014/05/25 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
爱牙日活动总结
2014/08/29 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
Python基本的内置数据类型及使用方法
2022/04/13 Python