我正在使用MIAS数据集的乳腺癌乳房X线照片。数据可在这里获得:http://peipa.essex.ac.uk/pix/mias/
例如,图像如下所示:
import cv2
import numpy as np
img = cv2.imread("mdb168.pgm",0)
import matplotlib.pyplot as plt
plt.imshow(img, cmap="gray")

我想移除图像中的所有工件和不必要的部分。
为此,我首先对图像进行二值化。
ret,thresh1 = cv2.threshold(img,0,255,cv2.THRESH_BINARY)
plt.imshow(thresh1, cmap="gray")

使用开口
kernel = np.ones((20,20),np.uint8)
opening = cv2.morphologyEx(thresh1, cv2.MORPH_OPEN, kernel)
plt.imshow(opening, cmap="gray")

然后侵蚀
kernel = np.ones((120,120),np.uint8)
erosion = cv2.erode(opening,kernel,iterations = 1)
plt.imshow(erosion, cmap="gray")

然后将此掩码与原始图像合并。
merged = cv2.bitwise_and(img, img , mask=erosion)
plt.imshow(merged, cmap="gray")

我现在正试图移除左上角的胸肌。在本出版物中:https://www.ncbi.nlm.nih.gov/pubmed/26742491使用完全相同的数据集,并在“种子区域生长”中这样做。但是,没有提供代码,我在opencv中找不到这一点。
我可以实现类似的结果,通过做扩张/侵蚀等,但我正在寻找一个更通用的解决方案。此外,这些图像中有些没有显示肌肉,这也应该被检测到。
发布于 2017-02-17 18:39:15
我将使用以下方法:
https://stackoverflow.com/questions/42297665
复制相似问题