专栏首页书山有路勤为径编码蓝幕/证件照背景替换

编码蓝幕/证件照背景替换

import matplotlib.pyplot as plt
import numpy as np
import cv2 #OpenCv

Read in the display the image

# Read in the image
image = cv2.imread('image_name.jpg')
#print out the type of image data and its dimension
print('This image is :',type(image),
        'with dimensions', image.shape)
%matplotlib inline
plt.imashow(image)

此时你会发现背景可能是红色,不是预料的蓝色,这是因为OpenCv会把彩色图像读取成BGR(蓝绿红)图像

image_copy = np.copy(image) #make a copy
# 改成RGB
image_copy = cv2.cvtColor(image_copy, cv2.COLOR_BGR2RGB)
plt.imshow(image_copy)

定义颜色阈值

#defin![微信截图_20180804114738.png](https://upload-images.jianshu.io/upload_images/8789591-7f216140fd83cc01.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
e our color selection boundaries in RGB value
lower_blue = np.array([0,0,230])
upper_blue = np.array([100,150,255])

Create mask #把我们选定的感兴趣区域分离出来以便进行操作

mask= cv2.inRange(image_copy, lower_blue,upper_blue) # mask 会显示出在范围内的像素
# Vizualize the mask
plt.imshow(mask, cmap ='gray')
# 展示主体
masked_image = np.copy(image_copy)
masked_image[mask != 0] = [0,0,0]
# Mask and add a background image
background_image = cv2.imread('image.jpg')
background_image = cv2.cvtColor(background_image,cv2.COLOR_BGR2RGB)
crop_background = background_image(0:514,0:816) #调整图片尺寸
crop_background[mask == 0]= [0,0,0]
complete_image = crop_background + masked_image
plt.imshow(complete_image)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 颜色转换,利用HSV颜色空间检测

    绘制出这些通道的灰度版本 以便观察各通道的强度,像素越亮 代表的红色、绿色或蓝色值就越高。我们可以看到 粉色气球的红色值很高 蓝色值也相对比较高,但值大小不一 ...

    小飞侠xp
  • Image Representation & Classification(图像表示与分类)

    RGB channels Visualize the levels of each color channel. Pay close attention to...

    小飞侠xp
  • Creating a Filter, Edge Detection

    Below, you've been given one common type of edge detection filter: a Sobel opera...

    小飞侠xp
  • flask pillow图片处理(flask 79)

    print("Current screen shot size :",image.size)

    用户5760343
  • php自动识别背景并且把它改为白色

    本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn

    仙士可
  • 【C语言练手】C语言画太极图

    呵呵昨天花了一个圆,今天想画个太极图,我知道没啥技术含量,但是挺有意思的,希望各位看官不要鄙视我不务正业,画完此图,不再做这些事情。 先展示下画出来的图像的情况...

    程序员互动联盟
  • 思维导图学 Kotlin

    Yano_nankai
  • 思维导图学《Linux性能优化实战》

    https://github.com/LjyYano/Thinking_in_Java_MindMapping

    Yano_nankai
  • 【HiBlock技术工坊69期会议实录】MYKEY多链钱包和ETH账户合约介绍 ​

    Hiblock区块链技术工坊活动,由HiBlock发起,下笔有神公司支持、区块链兄弟,HPB芯链联合主办,深度聚焦于分享区块链知识,实现小会技术交友,在上海已成...

    辉哥
  • 项目经理最牛思维导图三

    yeedomliu

扫码关注云+社区

领取腾讯云代金券