1. 程式人生 > 其它 >利用cv2.dilate對影象進行膨脹

利用cv2.dilate對影象進行膨脹

cv2.getStructuringElement(cv2.MORPH_RECT, (7,7))介紹,請看這個部落格
我簡要說一下cv2.getStructuringElement,可用於構造一個特定大小和形狀的結構元素,用於影象形態學處理。其中 MORPH_RECT 就是構造一個全1方形矩陣。
程式碼如下:
#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