Python实现一键换底片!不用抠图,想换什么换什么

435 阅读1分钟

生活中我们会拍很多的证件照,有的要求红底,有的是白底,有的是蓝底,今天不通过抠图,实现一键换底片,想换什么换什么。

知识点:

1.图像处理

2.OpenCV

3.numpy

4.python基础知识

环境:

windows

pycharm

python3

步骤

1、倒入库

import numpy as np
import cv2

如果直接在命令提示符中安装的话要换个名称

file

pip install OpenCV-python

2、图像导入

img = cv2.imread('timg.jpg')

3、缩放

rows,cols,channels = img.shape
print(rows,cols,channels)
img = cv2.resize(img,None,fx=0.5,fy=0.5)
rows,cols,channels = img.shape
print(rows,cols,channels)

file

4、显示图像内容,并进行处理

转换图像为二值化图

cv2.imshow('img',img)

hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

cv2.imshow('hsv',hsv)
lower_blue = np.array([90,70,90])
upper_blue = np.array([110,255,255])

二值化功能

mask = cv2.inRange(hsv,lower_blue,upper_blue)
cv2.imshow('Mask',mask)

5、腐蚀

erosion = cv2.erode(mask,None,iterations=1)
cv2.imshow('erosion',erosion)

6、膨胀

dilation = cv2.dilate(mask ,None,iterations=1)
cv2.imshow('dilation',dilation)
for i in range(rows):
    for j in range(cols):
        if dilation[i,j] == 255:
            img[i,j] = (0,0,255)   # rgb(255,0,0)  BGR()
            
cv2.imshow('res',img)

file

7、保存

cv2.imwrite('ting.png',img)
cv2.waitKey(0)  # 0 无限等待
cv2.destroyAllWindows()  # 销毁所有的窗口

file

文源网络,仅供学习之用,如有侵权请联系删除。

关注公众号【Python圈子】,优质文章每日送达。

file