利用cv2.dilate对图像进行膨胀

本文最后更新于:2023年4月7日 下午

cv2.getStructuringElement(cv2.MORPH_RECT, (7,7))介绍,请看这个博客。我简要说一下cv2.getStructuringElement,可用于构造一个特定大小和形状的结构元素,用于图像形态学处理。其中 MORPH_RECT 就是构造一个全1方形矩阵。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#coding:utf-8
import SimpleITK as sitk
import numpy as np
import cv2

def dilateion(image):
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (7,7))
dilate = cv2.dilate(image, kernel, iterations=1)
return dilate

def save(x, path):
predict_seg = sitk.GetImageFromArray(x)
sitk.WriteImage(predict_seg, path)
def read_nii(path):
image = sitk.ReadImage(path)
img_num = sitk.GetArrayFromImage(image)
return img_num
if __name__ == "__main__":
path = r"D:\myProject\HDC_vessel_seg\datasets\nii\vessel_1.nii"
img_num = read_nii(path)
img_num = img_num[20:84,...]
slices = img_num.shape[0]
result = np.zeros(img_num.shape)
for i in range(slices):
sli = img_num[i:i+1, ...]
s = sli[0,...]
slice = dilateion(s)
result[i,...] = slice
save(result, path.replace("vessel_1", "dilate_vessel_1"))
save(img_num, path.replace("vessel_1", "pre_vessel_1"))
print(slices)

结果:

未扩张之前:

扩张之后:

 

请看这个博客
[Qǐng kàn zhège bókè]
Please see this blog

打赏支持
“如果你觉得我的文章不错,不妨鼓励我继续写作。”

利用cv2.dilate对图像进行膨胀
https://dreamoneyou.github.io/2022/利用cv2.dilate对图像进行膨胀/
作者
九叶草
发布于
2022年5月21日
更新于
2023年4月7日
许可协议