说来也是凑巧,最近有张白色背景的证件照需要换成红色,时间不紧张,于是想用Opencv实现,然后网上搜索了一圈,发现都是蓝底换其他底色的,没有一篇关于白底照片换色的,于是自己动手改了下相关的代码。

直接上代码:

代码如下:

import cv2
import numpy as np# 1、读取照片
img=cv2.imread('test.jpg')
rows,cols,channels = img.shape
cv2.imshow('img',img)# 2、图片的二值化处理
### 二值化处理将图片转为黑白两色,但因为本来就是白底照片,因此在设置颜色上需要调整。
### lower~upper之间的值将变成255(纯白)  其他均变为0(纯黑)
lower = np.array([251,251,251])
upper = np.array([256,256,256])
mask = cv2.inRange(img, lower, upper)
cv2.imshow('mask',mask)# 3、图像的腐蚀膨胀
# kernel = np.ones((2, 2), np.uint8)   这里经过测试选择None代替kernel
erode=cv2.erode(mask,None,iterations=1)  #进行腐蚀操作
cv2.imshow('erode',erode)### dilate进行膨胀操作,iterations=3是为了将白色区域增强,否则换背景色时会出现裸漏色
dilate=cv2.dilate(erode,None,iterations=3)
cv2.imshow('dilate',dilate)# 4、遍历替换底色
for i in range(rows):for j in range(cols):if dilate[i,j]==255: # 像素点255是白色img[i,j]=(0,0,255) # 此处替换颜色,为BGR通道,不是RGB通道
cv2.imshow('red',img)# 窗口等待的命令,0表示无限等待
cv2.waitKey(0)# 5、保存图片
# cv2.imwrite('test_red.jpg', img)

效果如下:

注意点:

  1. 图像二值化时,因为本身就是白色背景,因此只需要将非白色转黑色即可,但照片中衬衫也是白色,因此在调整时lower至upper的值需要多次调整,否则会出现如下情况:最右图片呈现大量白噪音。


2. 进行图片膨胀操作时,iterations的值要尽量大点,我这里用的3,可自行调整。如若选择1,会出现如下情况:很明显红色底并没覆盖全。

写给键盘侠:

当然是PS和各种图片软件方便了,写这篇就是为了补充【opencv白底换色】的空缺。希望能对需要的人有所帮助,感恩。

Python 利用opencv给白底照片换色,全网唯一相关推荐

  1. python处理图片去白底-Python实现将蓝底照片转化为白底照片功能完整实例

    本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...

  2. python黑屏改成白底_Python实现将蓝底照片转化为白底照片功能完整实例

    本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...

  3. python制作白底界面_Python实现将蓝底照片转化为白底照片功能完整实例

    本文实例讲述了Python实现将蓝底照片转化为白底照片功能.分享给大家供大家参考,具体如下: import cv2 import numpy as np img=cv2.imread('yay.jpg ...

  4. Python 把蓝底照片转化为白底照片

    本文系转载,出处:http://blog.csdn.net/haofan_/article/details/76618362. import cv2 import numpy as npimg=cv2 ...

  5. 如何用ps把蓝底照片换成白色的

    用ps把蓝底照片换成白色的的具体步骤为: 1.打开换白底的照片,菜单栏.调整.替换颜色,打开这个工具. 2.认真看下图的圆圈所指的地方,点一下这个结果色块,我们选择一个白色色彩. 3.有一个关键的一个 ...

  6. python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

    python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码 一.前言 今天的低价单孔摄像机(照相机)会给图像带来很多畸变.畸变主要有两 种:径向畸变和切想畸变.如下图所示,用 ...

  7. AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字

    AI 质检学习报告--实践篇--第一步:python利用OpenCV打开摄像头并截图 AI 质检学习报告--实践篇--第二步:实现图片识字 前边两篇实践已经分别实现了利用OpenCV打开摄像头并截图和 ...

  8. AI 质检学习报告——实践篇——第一步:python利用OpenCV打开摄像头并截图

    写在前边 想要做一个AI质检的项目,一点一点来,首先:python利用OpenCV打开摄像头并拍照. 效果 设摄像头像素不咋地,实际的产品肯定不会是这个像素,必须安排一个专业的. 实现代码 impor ...

  9. python怎么改成白底_教你用OpenCV 和 Python给证件照换底色(蓝底 -红底-白底)...

    ​在我们的生活中常常要用到各种底色要求的证件电子照,红底.蓝底.或者白底,而假如你手上只有一种底色的证件照,你又不想再去拍又不会PS怎么办?今天教你们用OpenCV和Python给你的证件照换底色.P ...

最新文章

  1. 目标检测中的Tricks
  2. 【Qt】New Features in Qt 5.15
  3. Pug+Stylus+Bootstrap入门
  4. [SAP2000] 简单桁架受力求解过程
  5. 思维-CF-739A
  6. 【解决】Vsftp匿名上传问题
  7. ffmpeg文档3:播放声音
  8. JavaScript -- DOM树
  9. 实习技术员的基本功(十)
  10. java导出excel设置单元格样式_java poi批量导出excel 设置单元格样式
  11. Uncaught SyntaxError: Unexpected token lt; 错误完美解决
  12. 计算机无法读取exe文件,电脑所有EXE文件都打不开的原因和多种解决方案
  13. Latex如何写参考文献及修改顺序
  14. 虚幻4渲染编程(环境模拟篇)【第一卷:体积云天空模拟(1)---层云】
  15. Absible#Ansible-Playbook的任务控制
  16. LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因又一例
  17. 绝地求生玩家排名预测
  18. php表格升序降序,excel如何实现升序和降序
  19. 逝世一周,追忆乔布斯
  20. Python之一次性删除列表里的所有指定元素

热门文章

  1. PMP 11.27 考试倒计时37天!来提分啦!
  2. Js 方法函数记录笔记
  3. 看漫画学python下载_用 Python 下载漫画
  4. matlab random 均匀分布,Matlab 的随机函数(高斯分布 均匀分布 其它分布)
  5. 投资效率模型两个版本(含stata代码以及计算参考文献)
  6. UVALive - 2D-Solar System
  7. 中日电脑相关词汇(超详版)
  8. html怎么让一行文字有滚动的效果,网页HTML代码:滚动文字的制作
  9. Zhong__Python math
  10. 真心话大冒险,一款小程序让你看清你朋友的内心