在我们的生活中常常要用到各种底色要求的证件电子照,红底、蓝底、或者白底,而假如你手上只有一种底色的证件照,你又不想再去拍又不会PS怎么办?今天教你们用OpenCV和Python给你的证件照换底色。
- Python3
- numpy函数库
- OpenCV库
- Windows10 Anaconda Pycharm
1.读取要换底色的图片
导入OpenCV库,使用imread函数读取图片。
import cv2
import numpy as np
# 读取照片并显示
image=cv2.imread('yang.jpg')
cv2.imshow('image',image)
2.对图片进行缩放
证件照原图太大,不易显示,cv2.resize函数进行缩放处理。
# 图像缩放并显示
img = cv2.resize(image,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)
cv2.imshow('img',img)
3.将图片转换为灰度图像
cv2.cvtColor函数将读取的图像默认是BGR格式转换为HSV格式,将彩色图片转换为hsv灰度图片,之后才能进行腐蚀和膨胀操作。
# 图片转换为灰度图并显示
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('hsv',hsv)