После полудня,
Я занимаюсь глубоким изучением целых изображений слайдов (биомедицинских изображений физических образцов). Я использую openslide, чтобы разбить все изображение слайда (размером 5 ГБ) на более мелкие фрагменты всего изображения, а затем преобразовать его в цветовое пространство RGB (я полагаю, что патч находится в RGBA как объект изображения PIL). Если я использую 5-кратное увеличение, я обнаруживаю, что когда я сохраняю изображение, я обнаруживаю, что в пикселях присутствует странный шум, который выглядит так, как будто многие пиксели флуоресцентны (отсутствуют при более высоких увеличениях). Мой вопрос: кто-нибудь знает, почему функция read_region библиотеки Openslide вызывает это, или знают ли они, как я могу выполнить некоторую постобработку, чтобы удалить этот артефакт из изображения? Я попытался преобразовать изображение, как показано ниже.
1.
for w in range(boundaries[0][0], boundaries[0][1], 500):
for h in range(boundaries[1][0], boundaries[1][1], 500):
patch = scan.read_region((w-2000, h-2000), 3, (500, 500))
img2 = img[h-2000:h+2000, w-2000:w+2000,:]
patch=np.asarray(patch)
patchRGB = cv2.cvtColor(patch, cv2.COLOR_RGBA2RGB)
print(np.mean(patchRGB), img2.shape)
if (img2.shape == (4000, 4000, 3) and np.mean(patchRGB) < 200) and np.mean(patchRGB) > 50:
cv2.imwrite('output/test/images/'+os.path.basename(ndpi)[:-5]+'_'+str(w)+'_'+str(h)+'.png', patchRGB)
cv2.imwrite('output/test/masks/'+os.path.basename(ndpi)[:-5]+'_'+str(w)+'_'+str(h)+'_masks.png', img2)
2.
for w in range(boundaries[0][0], boundaries[0][1], 500):
for h in range(boundaries[1][0], boundaries[1][1], 500):
patch = scan.read_region((w-2000, h-2000), 3, (500, 500))
img2 = img[h-2000:h+2000, w-2000:w+2000,:]
patchRGB = patch.convert('RGB')
print(np.mean(patchRGB), img2.shape)
if (img2.shape == (4000, 4000, 3) and np.mean(patchRGB) < 200) and np.mean(patchRGB) > 50:
patchRGB.save('output/5x/images/'+os.path.basename(ndpi)[:-5]+'_'+str(w)+'_'+str(h)+'.png')
cv2.imwrite('output/5x/masks/'+os.path.basename(ndpi)[:-5]+'_'+str(w)+'_'+str(h)+'_masks.png', img2)