У меня есть изображение. Как это:
Я обнаружил объект (в данном случае это человек), и он маскирует изображение следующим образом:
Я хочу, чтобы фон объекта был размытым. Как это:
Ниже приведен код, который я пробовал. следующий код только размывает
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)