详解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中列表、字典、元组、集合数据结构整理
Nov 20 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
Feb 04 Python
介绍Python中的文档测试模块
Apr 28 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
python程序封装为win32服务的方法
Mar 07 Python
Python英文文本分词(无空格)模块wordninja的使用实例
Feb 20 Python
python使用requests.session模拟登录
Aug 09 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
Django Path转换器自定义及正则代码实例
May 29 Python
python名片管理系统开发
Jun 18 Python
python openpyxl模块的使用详解
Feb 25 Python
Python中的变量与常量
Nov 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
杏林同学录(一)
2006/10/09 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
JS input 数字验证代码
2009/07/30 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
初识Node.js
2014/09/03 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
python 简单的多线程链接实现代码
2016/08/28 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
python实现用户答题功能
2018/01/17 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
实习鉴定范文
2013/12/19 职场文书
迷你西餐厅创业计划书范文
2013/12/31 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
协议书怎么写
2014/04/21 职场文书
社区个人对照检查材料(群众路线)
2014/09/26 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS