本文实例讲述了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()
效果图如下:
希望本文所述对大家Python程序设计有所帮助。
标签:numpy
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!