python批量图像换背景(详解Python给照片换底色蓝底换红底)
类别:脚本大全 浏览量:2703
时间:2021-10-28 10:42:47 python批量图像换背景
详解Python给照片换底色蓝底换红底现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用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 |
代码
在当前文件夹新建opencv.py,拷贝以下代码
|
import cv2 import numpy as np img = cv2.imread( 'timg.jpg" alt="python批量图像换背景(详解Python给照片换底色蓝底换红底)" border="0" /> #缩放 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" alt="python批量图像换背景(详解Python给照片换底色蓝底换红底)" border="0" /> lower_blue=np.array([90,70,70])里面三个数值可以控制好处理出来的效果和噪点
win+r->cmd->cd到opencv.py文件夹,运行
demo
动图演示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://segmentfault.com/a/1190000018599038
您可能感兴趣
- webview上传功能教程(关于webview适配H5上传照片或者视频文件的方法)
- dedecms模板照片(DEDECMS首页调用图片集里的多张图片)
- css 图片边缘虚化(CSS3对图片照片进行边缘模糊处理的实现)
- css3 图片样式处理(CSS3实现漂亮的照片墙效果的简单实例推荐)
- python批量图像换背景(详解Python给照片换底色蓝底换红底)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 节日我在岗|警景相融 平安相伴(节日我在岗警景相融)
- 战 疫 时刻 致敬每一位石化大学的 守护者(战疫时刻)
- 老弄堂里的市井味道(老弄堂里的市井味道)
- 小米音乐可绑定QQ音乐, QQ音乐 真的会消失在小米的设备上吗(小米音乐可绑定QQ音乐)
热门推荐
- 服务器宝塔面板怎么安装(VPS安装宝塔面板+云锁过程记录)
- 弹性云主机的组成(什么叫弹性云服务器?弹性云主机的“弹性”反映在哪?)
- laravel 数据库实现原理(laravel 数据迁移与 Eloquent ORM的实现方法)
- 微信公众号用户怎么增加(微信公众号用户与网站用户的绑定解决方案分析)
- SQL中not in有Null值时
- dedecms更新后支付宝接口提示错误ILLEGAL_EXTERFACE的解决方法(dedecms更新后支付宝接口提示错误ILLEGAL_EXTERFACE的解决方法)
- django测试服务器静态资源放哪里(Django使用redis缓存服务器的实现代码示例)
- 解决docker的tls(ssl)证书过期问题(解决docker的tlsssl证书过期问题)
- dataframe取几列数据(dataframe 按条件替换某一列中的值方法)
- 微信小程序语音录入(微信小程序使用同声传译实现语音识别功能)