拍攝出來的胸片用microDicom讀取后有的會不大清楚,microDicom本身並沒有調整對比度的功能,我也不大清楚有沒有其它讀胸片的軟件可以調整對比度,於是查閱不少博客,看到有用直方圖均衡化來做的,自己試了下效果還不錯。
導入相關包
import pydicom import cv2 import matplotlib.pyplot as plt
定義調整對比度的函數,調用了opencv中CLAHE(contrast limited adaptive histogram equalization對比度受限直方圖均衡化)的庫函數
def limitedEqualize(img_array, limit = 20.0): clahe = cv2.createCLAHE(clipLimit = limit, tileGridSize = (8,8)) return clahe.apply(img_array)
讀取胸片和像素矩陣
ds = pydicom.read_file(filename) data = ds.pixel_array
利用matplotlib分別顯示原始數據和經過直方圖均衡化的數據
plt.subplot(121) plt.imshow(data, cmap='gray') plt.subplot(122) plt.imshow(limitedEqualize(data),cmap='gray')
效果圖,左邊是原圖,右邊是處理過的