Opencv实现抠图背景图替换功能

  

本文实例为大家分享了Opencv实现抠图替换背景图的具体代码,供大家参考,具体内容如下

  

下面简单图片演示一下:

  

提取面具:

  

 Opencv实现抠图背景图替换功能“>===在<img src=

  

python的opencv代码如下:
  

        #=utf - 8编码      进口cv2   进口numpy np      img=cv2.imread (“lp.jpg”)   img_back=cv2.imread (“back.jpg”)   #日常缩放   行、关口=img_back.shape渠道   img_back=cv2.resize (img_back, fx=0.7,=0.7)财政年度   cv2.imshow (img_back, img_back)      行、关口=img.shape渠道   img=cv2.resize (img, fx=0.4,=0.4)财政年度   cv2.imshow (img, img)   行,关口,渠道=img.shape #行,关口最后一定要是前景图片的,后面遍历图片需要用的到      #转换hsv   cv2.COLOR_BGR2HSV hsv=cv2.cvtColor (img)   #获取面具   lower_blue=np.array([78年,43岁,46])   upper_blue=np.array ([110255255])   掩码=cv2。inRange (hsv lower_blue upper_blue)   cv2。imshow(面具,面具)      #腐蚀膨胀   侵蚀=cv2.erode(面具,没有,迭代=1)   cv2.imshow(“侵蚀”,侵蚀)   扩张=cv2.dilate(侵蚀、没有一个、迭代=1)   cv2.imshow(扩张,扩张)      #遍历替换   中心=(50,50)#在新背景图片中的位置   因为我在范围内(行):   j的范围(峡路):   如果扩张(i, j)==0: # 0代表黑色的点   img_back [[0] + i中心,中心[1]+ j]=img (i, j) #此处替换颜色,为BGR通道   cv2.imshow (res, img_back)      cv2.waitKey (0)   cv2.destroyAllWindows ()      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Opencv实现抠图背景图替换功能