Filter 仅在边缘应用高斯滤波器

Filter 仅在边缘应用高斯滤波器,filter,cv2,gaussian,medical-imaging,Filter,Cv2,Gaussian,Medical Imaging,我有一个二进制掩模,如何在掩模的边界上应用标准单位偏差的高斯核来平滑边界?在掩模上应用高斯模糊滤波器时,它只模糊掩模的边界 例如: 导入cv2 orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。 模糊=cv2.高斯模糊(原始图像,(15,15,0) 结果: 如果您希望保持遮罩不被修改,并且仅平滑遮罩周围的像素,我建议使用少量迭代,并取最大值 获取原始图像和模糊图像之间的最大值可确保原始遮罩像素保持不变,因为它们的值


我有一个二进制掩模,如何在掩模的边界上应用标准单位偏差的高斯核来平滑边界?

在掩模上应用高斯模糊滤波器时,它只模糊掩模的边界

例如:

导入cv2
orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。
模糊=cv2.高斯模糊(原始图像,(15,15,0)

结果:


如果您希望保持遮罩不被修改,并且仅平滑遮罩周围的像素,我建议使用少量迭代,并取最大值

获取原始图像和模糊图像之间的最大值可确保原始遮罩像素保持不变,因为它们的值为255(最大可能值)

下面是一个代码示例:

导入cv2
orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。
img=orig_img.copy()
对于范围(10)内的i:
模糊=cv2.高斯模糊(img,(15,15,0)
img=cv2.max(模糊,img)#获得最大值以掩盖更亮的边缘
blur=cv2.max(orig_img,img)#获得保持原始遮罩像素不变的最大值。
cv2.imshow(“模糊”,模糊)
cv2.waitKey()
cv2.destroyAllWindows()

结果:


另一种选择是在高斯模糊之前使用形态扩张:

导入cv2
orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。
img=cv2.deplate(原始img,cv2.getStructuringElement(cv2.morp_ELLIPSE,(7,7)))
模糊=cv2.高斯模糊(img,(15,15,0)
blur=cv2.max(blur,orig#img)#获得保持原始遮罩像素不变的最大值。
cv2.imshow(“模糊”,模糊)
cv2.waitKey()
cv2.destroyAllWindows()

结果:

在遮罩上应用高斯模糊过滤器时,它仅模糊遮罩的边界

例如:

导入cv2
orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。
模糊=cv2.高斯模糊(原始图像,(15,15,0)

结果:


如果您希望保持遮罩不被修改,并且仅平滑遮罩周围的像素,我建议使用少量迭代,并取最大值

获取原始图像和模糊图像之间的最大值可确保原始遮罩像素保持不变,因为它们的值为255(最大可能值)

下面是一个代码示例:

导入cv2
orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。
img=orig_img.copy()
对于范围(10)内的i:
模糊=cv2.高斯模糊(img,(15,15,0)
img=cv2.max(模糊,img)#获得最大值以掩盖更亮的边缘
blur=cv2.max(orig_img,img)#获得保持原始遮罩像素不变的最大值。
cv2.imshow(“模糊”,模糊)
cv2.waitKey()
cv2.destroyAllWindows()

结果:


另一种选择是在高斯模糊之前使用形态扩张:

导入cv2
orig_img=cv2.imread('mask.png',cv2.imread_GRAYSCALE)#将图像读取为灰度。
img=cv2.deplate(原始img,cv2.getStructuringElement(cv2.morp_ELLIPSE,(7,7)))
模糊=cv2.高斯模糊(img,(15,15,0)
blur=cv2.max(blur,orig#img)#获得保持原始遮罩像素不变的最大值。
cv2.imshow(“模糊”,模糊)
cv2.waitKey()
cv2.destroyAllWindows()

结果:

这是一个非常完整的答案!非常感谢。这是一个非常完整的答案!非常感谢。