如何使用python和opencv的面具实现抠图叠加

  介绍

小编给大家分享一下如何使用python和opencv的面具实现抠图叠加,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

python的数据类型有哪些吗?

python的数据类型:1。数字类型,包括int(整型),长(长整型)和浮子(浮点型)。2。字符串,分别是str类型和unicode类型。3。布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和虚假的(假)。4。列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5。元组,元组用“()”标识,内部元素用逗号隔开。6。字,字典典是一种键值对的集合。7。集合,集合是一个无序的,不重复的数据组合。

背景照片:

如何使用python和opencv的面具实现抠图叠加

标识:

如何使用python和opencv的面具实现抠图叠加

合成效果:

如何使用python和opencv的面具实现抠图叠加

代码:

import  cv2  as 简历,numpy  as  np   #,Load  two 图像   时间=img1  cv.imread (& # 39; 227351. jpg # 39;), #,背景   时间=img2  cv.imread (& # 39; logo.png& # 39;), #,标志   #,小姐:want 用put  logo 提醒top-left 角落,,So 小姐:create  a  ROI   行,关口,channels =img2.shape   时间=roi  img1[0:行,,0:cols 】   #,你create  a  mask  of  logo 以及create  its  inverse  mask 也   时间=img2gray  cv.cvtColor (img2 cv.COLOR_BGR2GRAY)   ret, mask =, cv.threshold (img2gray,, 254,, 255,, cv.THRESH_BINARY), #,这254个很重要   时间=mask_inv  cv.bitwise_not(面具)   cv.imshow(& # 39;面具# 39;,mask_inv)   #,你black-out 从而area  of  logo 拷贝ROI   时间=img1_bg  cv.bitwise_and (roi, roi, mask =,面具),#,这里是面具,我参考的博文写反了,我改正了,费了不小劲   #,Take  only  region  of  logo 得到logo 形象。   时间=img2_fg  cv.bitwise_and (img2、img2 mask =, mask_inv), #,这里才是mask_inv   #,Put  logo  ROI 拷贝;以及modify 从而main 形象   时间=dst  cv.add (img1_bg img2_fg)   img1[0:行,,0:cols ],=, dst   cv.imshow (& # 39; res # 39;, img1)   cv.waitKey (0)   cv.destroyAllWindows ()

<强>补充:python opencv中的面具(遮罩inRange)的使用

可以看看我的注解

import  cv2   import  numpy  as  np   时间=img  cv2.imread (& # 39; IMG_0307.jpg& # 39;)   时间=orange_lower  np.array([11, 43岁,46])   时间=orange_upper  np.array([25255255]), #颜色色域   时间=img_hsv  cv2.cvtColor (img cv2.COLOR_BGR2HSV), #注意,一定要转换为hsv    时间=mask  cv2.inRange (img_hsv orange_lower, orange_upper), # mask 启动   时间=mask  cv2.erode(面具,没有迭代=2),   时间=mask  cv2.GaussianBlur(面具,(3、3),0)   # erode 和,GaussianBlur 是用来使得图片或视频更加模糊的,这样可以使得色彩突出更加明显,#色彩追踪也会更加精准   cv2.imshow(& # 39;面具# 39;,面具)   cv2.imshow (& # 39; img # 39;, img)   cv2.waitKey ()

使用opencv来处理图片的颜色,需要使用面具遮罩来使得所需要的颜色被保留,不需要的颜色就隐藏掉。

在上面的代码中我设置的是用面具来遮住除了橘色之外的所有颜色

<强>颜色参数就是orange_lower和orange_upper

以上是“如何使用python和opencv的面具实现抠图叠加”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

如何使用python和opencv的面具实现抠图叠加