详解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实现从url中提取域名的几种方法
Sep 26 Python
Python获取网页上图片下载地址的方法
Mar 11 Python
Python实现单词拼写检查
Apr 25 Python
Python数据库的连接实现方法与注意事项
Feb 27 Python
浅析Python编写函数装饰器
Mar 18 Python
python中list列表的高级函数
May 17 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
对python中的pop函数和append函数详解
May 04 Python
python2与python3共存问题的解决方法
Sep 18 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 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
建立动态的WML站点(二)
2006/10/09 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
Python中tell()方法的使用详解
2015/05/24 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python实现关键词提取的示例讲解
2018/04/28 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
群胜软件Java笔试题
2012/09/29 面试题
公司担保书格式范文
2014/05/12 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
初中信息技术教学计划
2015/01/22 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android