详解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读取Json字典写入Excel表格的方法
Jan 03 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
python生成lmdb格式的文件实例
Nov 08 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
django Admin文档生成器使用详解
Jul 22 Python
基于python实现地址和经纬度转换
May 19 Python
浅谈Python中的字符串
Jun 10 Python
如何使用python socket模块实现简单的文件下载
Sep 04 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
python中实现词云图的示例
Dec 19 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
Javascript 二维数组
2009/11/26 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
Node.js Express安装与使用教程
2018/05/11 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
centos系统升级python 2.7.3
2014/07/03 Python
python自动格式化json文件的方法
2015/03/11 Python
python 调用HBase的简单实例
2016/12/18 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
python cs架构实现简单文件传输
2020/03/20 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
新西兰最大的品牌运动鞋购物网站:Platypus NZ
2017/10/27 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
健康家庭事迹材料
2014/05/02 职场文书
十周年庆典策划方案
2014/06/03 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
通知的写法
2015/04/23 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
党内外群众意见范文
2015/06/02 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL