[go: up one dir, main page]

Skip to content

We integrate some useful techniques of data augmentation for ultrasound medical images.

License

Notifications You must be signed in to change notification settings

worldstar/ultrasoundSoundAugmentation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Augmentation

圖像去噪、輪廓增強

本文方法有CLAHEColor、NLM、Opening_operation、OTSU、Normalize、HSV、CLAHE+Normalize、HSV+CLAHE、NLM+Opening,主要針對圖像去噪及輪廓增強,程式呼叫方法如下所示。

1.CLAHEColor

  • 參數說明

    CLAHE_Color:增強方法

    clahenum:設定每次處理的大小(值越大圖片顆粒感越重)

輸入範例:

 datagen=CustomDataGenerator(fun="CLAHE_Color",clahenum=40,dtype=int)

*下圖分別為clahenum所設定不同值的結果,由下圖所示clahenum設定為24輪廓較為明顯。

2.NLM

  • 參數說明

    NLM:增強方法

    h:決定濾波器強度。較高的值可以更好的消除噪聲,但也會刪除圖像細節

    templateWindowSize:奇數(推薦值為7)

    searchWindowSize:奇數(推薦值為21)

輸入範例:

datagen=CustomDataGenerator(fun="NLMOpening",h=10,templateWindowSize=7,searchWindowSize=21,dtype=int)

*下圖為NLM與原圖的對比,看起來更為平滑。

3.Opening_operation

  • 參數說明

    Opening_operation:增強方法

    kernel:設定內核的大小

輸入範例:

datagen=CustomDataGenerator(fun="Opening_operation",kernel=5,dtype=int)

*下圖為Opening_operation與原圖的對比

4.OTSU

  • 參數說明

    OTSU:增強方法

輸入範例:

datagen=CustomDataGenerator(fun="OTSU",dtype=int)

*下圖為OTSU與原圖的對比

5.Normalize

  • 參數說明

    normalize:增強方法

輸入範例:

datagen=CustomDataGenerator(fun="normalize",dtype=int)

*下圖為normalize與原圖的對比

6.HSV

  • 參數說明

    HSVcolor:增強方法

輸入範例:

datagen=CustomDataGenerator(fun="HSVcolor",dtype=int)

*下圖為normalize與原圖的對比

7.CLAHE+Normalize

  • 參數說明

    CLAHENormalize:增強方法

    clahenum:設定每次處理的大小

輸入範例:

datagen=CustomDataGenerator(fun="CLAHENormalize",clahenum=40,dtype=int)

*下圖為CLAHE-clahenum=40+normalize與原圖的對比

8.HSV+CLAHE

  • 參數說明

    CLAHEHSVcolor:增強方法

    clahenum:設定每次處理的大小

輸入範例:

datagen=CustomDataGenerator(fun="CLAHEHSVcolor",clahenum=40,dtype=int)

*下圖為CLAHE-clahenum=40+HSV與原圖的對比

9.NLM+Opening

  • 參數說明

    NLMOpening:增強方法

    h:決定濾波器強度。較高的值可以更好的消除噪聲,但也會刪除圖像細節

    templateWindowSize:奇數(推薦值為7)

    searchWindowSize:奇數(推薦值為21)

    kernel:設定內核的大小

輸入範例:

datagen=CustomDataGenerator(fun="NLMOpening",h=10,templateWindowSize=7,searchWindowSize=21,kernel=5,dtype=int)

*下圖為NLM+Opening與原圖的對比

圖像去背

下方介紹圖像去背方法分別為,小波轉換、k-means

k-means

  • 參數說明

    kmeans:增強方法

    num_clusters:獲得每個像素所屬的類別

輸入範例:

datagen=CustomDataGenerator(fun="kmeans",num_clusters=4,dtype=int)

*下圖為k-means與原圖的對比

小波轉換

  • 注意!!!!

    該方法因為輸出為單通道,因此無法在本專案做使用。

在下方附上範例程式

輸入範例:

image = cv2.imread('03.png')
img = cv2.resize(img, (256, 256))
# 将多通道图像变为单通道图像
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# plt.figure('二维小波一级变换')
coeffs = pywt.dwt2(img, 'haar')
cA, (cH, cV, cD) = coeffs
# 将各个子图进行拼接,最后得到一张图
AH = np.concatenate([cA, cH], axis=1)
VD = np.concatenate([cV, cD], axis=1)
img2 = np.concatenate([AH, VD], axis=0)

cv2.imwrite("dwt.png",img2)

*下圖為小波轉換後的結果

About

We integrate some useful techniques of data augmentation for ultrasound medical images.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published