幽灵资源网 Design By www.bzswh.com
本文实例为大家分享了opencv转换颜色空间更改图片背景的具体代码,供大家参考,具体内容如下
思路:
1、将BGR转换为HSV颜色空间
2、设置掩模
3、位运算
这里以更改摩托罗拉logo背景为例,图片在必应图片搜索得知,具体代码如下:
import numpy as np import cv2 from imageio import imread import matplotlib.pyplot as plt def show(img,winname = "img"): cv2.namedWindow(winname,cv2.WINDOW_GUI_NORMAL) cv2.imshow(winname,img) cv2.waitKey(0) cv2.destroyAllWindows() imgpath = r'motorola.jpg' img = imread(imgpath) img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) if img.shape == 4: img = img[:,:,:3] show(img) print(img.shape) bgd = np.ones(img.shape,dtype=np.uint8) bgd[:,:,:] = 255 #转换为白色背景 show(bgd,"white") # 转换颜色空间 hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) # show(hsv) # 绿色分量掩模,使用inRange函数 # lowergreen = np.array([35,43,46],dtype = np.uint8) # uppergreen = np.array([77,255,255],dtype=np.uint8) # maskgreen = cv2.inRange(hsv,lowergreen,uppergreen) # show(maskgreen) # 蓝色分量掩模,使用inRange函数 lowerblue = np.array([100,43,46],dtype = np.uint8) upperblue = np.array([124,255,255],dtype=np.uint8) maskblue = cv2.inRange(hsv, lowerblue, upperblue) maskblue_inv = cv2.bitwise_not(maskblue) show(maskblue,'maskblue') show(maskblue_inv,'maskblue_inv') # 腐蚀操作 kernel_erode = np.ones((3,3),dtype = np.uint8) erode = cv2.erode(maskblue,kernel_erode) # 膨胀操作 kernel_dilate = np.ones((5,5),np.uint8) dilate = cv2.dilate(erode, kernel = kernel_dilate) show(erode,'erode') # 前景色只留下蓝色字体部分 fg = cv2.bitwise_and(img,img,mask = maskblue) show(fg,'fg') # 背景中除去蓝色字体部分 bg = cv2.bitwise_and(bgd,bgd,mask = maskblue_inv) show(bg,'bg') # 前景色和背景色相加 dst = cv2.add(bg,fg) show(dst,'dst')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。