本文主要是介绍python图像模糊处理_python中利用掩模实现图像的高效模糊处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下面是一个使用Numpy切片的方法将蒙版转换为灰度并在蒙版上找到轮廓
迭代轮廓并提取ROI
模糊每个感兴趣区域并替换为原始图像
输入和屏蔽图像
使用Numpy切片(左)、模糊ROI(右)获取ROI
将模糊的ROI替换回原始图像
这种方法应该更快,因为你正在利用纽比切片import cv2
import numpy as np
def soft_blur_with_mask(image: np.ndarray, mask: np.ndarray) -> np.ndarray:
mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY)
cnts = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
for c in cnts:
x,y,w,h = cv2.boundingRect(c)
ROI = image[y:y+h, x:x+w]
image[y:y+h, x:x+w] = cv2.GaussianBlur(ROI, (41,41), 0)
return image
if __name__ == '__main__':
image = cv2.imread('1.png')
mask = cv2.imread('mask.png')
result = soft_blur_with_mask(image, mask)
cv2.imshow('result', result)
cv2.waitKey()
这篇关于python图像模糊处理_python中利用掩模实现图像的高效模糊处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!