import cv2
import numpy as np
# 读取照片
img=cv2.imread("personalPic.jpg")# 图像缩放
img = cv2.resize(img,None,fx=0.3,fy=0.3)
rows,cols,channels = img.shape
print(rows,cols,channels)# img_medianBlur=cv2.medianBlur(img,3) # 中值滤波,必须是大于1的奇数,如3、5、7…
# cv2.namedWindow('median', cv2.WINDOW_NORMAL)  #此配置名称为median窗口可手动改变大小
# cv2.namedWindow('median', cv2.WINDOW_AUTOSIZE)
# cv2.imshow("median",img_medianBlur)# 显示原始图像
cv2.imshow('img',img)# 图片转换为灰度图
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)# 显示灰度图像
cv2.imshow('hsv',hsv)# 图片的二值化处理,可能会出现噪声(白点),有的图片显示的很明显,这就需要我们进行腐蚀或膨胀。
lower_blue = np.array([70,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 erode[i,j]==255: # 像素点为255表示的是白色,此处将白色处的像素点替换为红色(将if dilate[i,j]==255中的dilate换成erode对比试试)img[i,j]=(0,0,255) # 此行将蓝底替换成红底,即(0,0,255)代表红色,由于历史原因,为BGR(蓝绿红)通道,不是RGB(红绿蓝)通道,所以255放第三个位置
#img = cv2.flip(img, 1)    #图像反转   1水平翻转   0垂直翻转   -1水平垂直翻转
cv2.imshow('red',img)# 窗口等待的命令,0表示无限等待
k = cv2.waitKey(0)  #监听键盘事件
if k == ord('s'):   #英文状态下键盘按s键,会将图片保存至桌面font = cv2.FONT_HERSHEY_DUPLEX#参数依次为:涂鸦的图片、涂鸦的文字、位置、字体、字体大小、字体颜色、字体画笔粗细# img = cv2.putText(img,"girl",(10,30),font,0.5,(0,0,0),2)cv2.imwrite("Blue2Red2.jpg",img, [int(cv2.IMWRITE_JPEG_QUALITY),100])cv2.destroyWindow('red')  #保存完后销毁名称为red的窗口
else:cv2.destroyAllWindows()

【图像处理】——正装照换底色Python相关推荐

  1. java-正装照换底色小demo-技术分享

    文章目录 前言 java-正装照换底色小demo-技术分享 01 实现思路 02 效果 02::01 原图: 02::02 执行单元测试: 02::03 效果: 03 编码实现 前言   如果您觉得有 ...

  2. 【项目实战】——Python打包正装换底色代码为exe文件(可在其他无Python环境下运行)

    目录 1.安装pyinstaller 2.生成.exe文件 方法1: 方法2: 方法3: (1)使用命令行窗口进入项目的根目录 (2)在改目录下执行pyi-makespec main.py(main. ...

  3. OpenCV实现照片换底色处理

    目录 1.导言 2.引言 3.代码分析 4.优化改进 5.总结 1.导言 在图像处理领域,OpenCV是一款强大而广泛应用的开源库,能够提供丰富的图像处理和计算机视觉功能.本篇博客将介绍如何利用Qt ...

  4. python换照片底色_Python 利用OpenCV给照片换底色的示例代码

    OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和M ...

  5. Python 教你用OpenCV实现给照片换底色

    文章目录 1. 读入并显示图片 2. 缩放图片 3. 彩色图像转换为灰度图像 4. 图片二值化处理 5. 图像的腐蚀和膨胀 6. 遍历像素点进行颜色替换 7. 其他说明 OpenCV的全称是:Open ...

  6. 使用Python制作一个照片换底色的exe程序文件(详细教程)

    文章目录 前言 一.安装相对应的库 二.关于图片处理 1.关于RemoveBg 2.图片处理代码编写 3.窗口图片选择以及提示函数 4.可视化窗口 5.打包成exe程序 写在最后 前言 在校大学生,突 ...

  7. 基于python的证件照_20行代码教你用python给证件照换底色的方法示例

    1.图片来源 该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流. 2.读取图片并显示 imread():读取图片: imshow():展示图片: waitkey():设置窗口等待,如果 ...

  8. python如何使用图片做背景_用Python批量给照片换底色,基于opencv模块

    现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现. 环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN1 ...

  9. python换照片底色_详解Python给照片换底色(蓝底换红底)

    现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现. 环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN1 ...

最新文章

  1. python使用numpy的np.fmod函数计算numpy数组除以某一特定数值剩余的余数(remainder)、np.mod函数和np.fmod函数对负值的处理方式有差异
  2. iBATIS第一部分基础
  3. java socket 推送机制_Java中websocket消息推送的实现代码
  4. google i/o_Google I / O 2017最有希望的突破
  5. Python——使用matplotlib绘制柱状图
  6. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
  7. linux-03-Vim使用+账号用户管理
  8. SPARK全栈 全流程 大数据实战 之 技术选型篇
  9. python简短语法_python 简单语法入门
  10. 爱奇艺、优酷、腾讯独播内容均超70%,如果只能三选一,哪家会员最值得买?
  11. Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
  12. linux之我常用的系统重要文件备份命令
  13. socket编程:简单TCP服务器/客户端编程
  14. 思科GNS3和华为eNSP完美结合
  15. 关于quartus ii 破解失败的问题
  16. SecureCRT资源下载安装
  17. CRMEB多商户版跨域问题解决
  18. Zabbix Database error
  19. 虎牙直播怎么换html5,虎牙直播助手怎么改名字 昵称更换方法
  20. 我的科四刷题笔记,记完就能过

热门文章

  1. CSS做个Switch开关
  2. NOIP模拟赛10 题解
  3. XAML中格式化日期
  4. [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.8
  5. oh-my-zsh upgrade problem
  6. jquery数组(操作数组元素)
  7. JBPM中 使用JobExecutor执行timer定义的job
  8. HTML渲染过程详解
  9. Springboot默认加载application.yml原理
  10. 学习File API用于前端读取文件