Python OpenCV实现蓝底照片转白底功能实例
本文提供Python结合OpenCV库将蓝底照片转换为白底的完整代码示例。通过读取图像、转换HSV色彩空间、设定蓝色阈值生成掩膜,并遍历像素替换白色,实现基础背景替换功能。
Python OpenCV蓝底换白底实现代码
本文介绍利用Python实现将蓝底照片转换为白底照片的具体方法。以下为完整实例代码及说明,供读者参考学习。
import cv2
import numpy as np
img=cv2.imread('yay.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([78,43,46])
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]=(255,255,255)#此处替换颜色,为BGR通道
cv2.imwrite('new.jpg',img) #生成的新图片
cv2.waitKey(0)
cv2.destroyAllWindows()
需注意,上述代码实现的转换效果较为基础。若需更高质量的背景替换效果,可参考前文关于C++ OpenCV实现蓝底转白底的详细教程。
具体处理前后的对比效果如下图所示:


相关参考文档链接:https://www.jb51.net/article/158266.htm
如需了解更多Python相关技术,建议查阅本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。
希望上述内容能对您的Python编程实践提供帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













