生活中我们会拍很多的证件照,有的要求红底,有的是白底,有的是蓝底,今天不通过抠图,实现一键换底片,想换什么换什么。
知识点:
1.图像处理
2.OpenCV
3.numpy
4.python基础知识
环境:
windows
pycharm
python3
步骤
1、倒入库
import numpy as np
import cv2
如果直接在命令提示符中安装的话要换个名称
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)
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)
7、保存
cv2.imwrite('ting.png',img)
cv2.waitKey(0) # 0 无限等待
cv2.destroyAllWindows() # 销毁所有的窗口
文源网络,仅供学习之用,如有侵权请联系删除。
在学习Python的道路上肯定会遇见困难,别慌,我这里有一套学习资料,包含40+本电子书,800+个教学视频,涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你学不会! https://shimo.im/docs/JWCghr8prjCVCxxK/ 《Python学习资料》
关注公众号【Python圈子】,优质文章每日送达。
来源:oschina
链接:https://my.oschina.net/u/4477231/blog/4312507