例如,图像如下所示:import cv2
import numpy as np
img = cv2.imread("mdb168.pgm",0)
import matplotlib.pyplot as plt
plt.imshow(img, cmap="gray")
我想删除图像中所有的伪影和不必要的部分。在
为此,我首先对图像进行二值化
^{pr2}$
使用开口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中找不到这个。在
我可以通过再做扩张/腐蚀等来达到类似的效果,但我正在寻找一个更具普遍性的解决方案。
另外,有些图像没有显示肌肉,这也应该被检测到。在