opencv+python用背景减去法抠图
opencv+python用背景减去法抠图
import cv2
from matplotlib import pyplot as plt
import numpy as np
imA=cv2.imread("target.png")
plt.imshow(cv2.cvtColor(imA,cv2.COLOR_BGR2RGB))
imA.shape #(2436, 1125, 3)

imBG=cv2.imread("bg_30061.jpg")
plt.imshow(cv2.cvtColor(imBG,cv2.COLOR_BGR2RGB))

# Step 1 预处理
# 日常缩放图像,背景图要缩放到和图A意一样大
imBG=cv2.resize(imBG,(1125,2436),interpolation=cv2.INTER_CUBIC)
# 后续代码都是基于灰度图像操作的
imA_gray=cv2.cvtColor(imA,cv2.COLOR_BGR2GRAY)
imBG_gray=cv2.cvtColor(imBG,cv2.COLOR_BGR2GRAY)
# 背景减去
sub=im

这篇博客介绍了如何使用Python和OpenCV通过背景减去法进行边缘检测和抠图。首先,对目标图片和背景图片进行预处理,包括缩放和转换为灰度图像。接着,进行背景减去、二值化处理,去除噪声并检测边缘。最后,通过寻找合适的轮廓区域,创建掩模并保存抠图结果。
最低0.47元/天 解锁文章
1558

被折叠的 条评论
为什么被折叠?



