0
我想使用ConnectedThresholdImageFilter類來分割二進制圖像('slice87.jpg')的「C」看白色區域。這個想法是選擇一個位於該區域內的種子值,並且只添加也具有255強度的相鄰像素(在閾值254和256之間)。爲什麼ConnectedThresholdImageFilter類不在閾值內標記像素?
然而,我的代碼的結果的圖像中的與每一個像素設置爲0:
代替此(通過Photoshop的手動編輯):
我的種子值是(x,y)=(115,35)。 img.GetPixel(115,35)
收益255
import SimpleITK as sitk
img = sitk.ReadImage('slice87.jpg')
seeds = [(115,35)]
output = sitk.ConnectedThreshold(image1=img,
seedList = seeds,
lower = 254,
upper = 256,
replaceValue = 255)
sitk.WriteImage(output, 'output.jpg')
您是否正在使用來自此文章的圖片或其他文章?如果是後者,由於JPEG壓縮的損失,強度可能不太正確。 –
實際圖像是以hdr/img分析格式保存的3D二進制圖像。我將slice87保存爲jpg格式,以便我可以將其上傳到stackoverflow。白色區域的亮度範圍爲251-255,所以壓縮並不能解釋爲什麼所有像素都設置爲0。 – DottedGlass