详解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批量生成本地ip地址的方法
Mar 23 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
python url 参数修改方法
Dec 26 Python
Python中new方法的详解
Jan 15 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
Python编写单元测试代码实例
Sep 10 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Pytorch 如何实现LSTM时间序列预测
May 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
PHP新手上路(二)
2006/10/09 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
php中引用符号(&)的使用详细介绍
2016/12/06 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
很棒的vue弹窗组件
2017/05/24 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
python得到windows自启动列表的方法
2018/10/14 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
英国打印机墨盒销售网站:Ink Factory
2019/10/07 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
联强国际笔试题面试题
2013/07/10 面试题
应聘教师推荐信
2013/10/31 职场文书
班队活动设计方案
2014/01/30 职场文书
商场租赁意向书
2014/07/30 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2016教师节感恩话语
2015/12/09 职场文书
2016年学校招生广告语
2016/01/28 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书