【发布时间】:2019-02-21 05:27:57
【问题描述】:
我有一张图片。像这样:
我检测到一个主题(在这种情况下是一个人),它像这样掩盖图像:
我希望主体的背景模糊。像这样:
以下是我尝试过的代码。下面的代码只是模糊了
import cv2
import numpy as np
from matplotlib import pyplot as plt
import os
path = 'selfies\\'
selfImgs = os.listdir(path)
for image in selfImgs:
img = cv2.imread(path+image)
img=cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
blur = cv2.blur(img,(10,10))
#canny = cv2.Canny(blur, 10, 30)
#plt.imshow(canny)
plt.imshow(blur)
j=cv2.cvtColor(blur, cv2.COLOR_BGR2RGB)
print(image)
cv2.imwrite('blurred\\'+image+".jpg",j)
有什么方法可以只模糊图像的特定部分/部分。
本项目基于https://github.com/matterport/Mask_RCNN
如果需要,我可以提供更多信息。
我在 numpy 中有一个方法:-
final_image = original * mask + blurred * (1-mask)
【问题讨论】:
-
你要做的是模糊整个图像,然后根据掩码将原始图像和模糊图像组合起来(例如,参见this question)。
标签: python opencv tensorflow image-processing scipy