白底图片转换为蓝底图片

import cv2
import numpy as np

# 1、读取照片
img=cv2.imread(r'C:\Users\Desktop\123.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]=(219,142,67) # 此处替换颜色,为BGR通道,不是RGB通道
cv2.imshow('red',img)

# 窗口等待的命令,0表示无限等待
# cv2.waitKey(0)

# 5、保存图片
cv2.imwrite(r'C:\Users\Desktop\gzq.jpg', img)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值