首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于cv2的医学图像分割

基于cv2的医学图像分割
EN

Stack Overflow用户
提问于 2017-02-17 12:11:29
回答 1查看 3.9K关注 0票数 3

我正在使用MIAS数据集的乳腺癌乳房X线照片。数据可在这里获得:http://peipa.essex.ac.uk/pix/mias/

例如,图像如下所示:

代码语言:javascript
复制
import cv2
import numpy as np

img = cv2.imread("mdb168.pgm",0)

import matplotlib.pyplot as plt

plt.imshow(img, cmap="gray")

我想移除图像中的所有工件和不必要的部分。

为此,我首先对图像进行二值化。

代码语言:javascript
复制
ret,thresh1 = cv2.threshold(img,0,255,cv2.THRESH_BINARY)
plt.imshow(thresh1, cmap="gray")

使用开口

代码语言:javascript
复制
kernel = np.ones((20,20),np.uint8)
opening = cv2.morphologyEx(thresh1, cv2.MORPH_OPEN, kernel)
plt.imshow(opening, cmap="gray")

然后侵蚀

代码语言:javascript
复制
kernel = np.ones((120,120),np.uint8)
erosion = cv2.erode(opening,kernel,iterations = 1)
plt.imshow(erosion, cmap="gray")

然后将此掩码与原始图像合并。

代码语言:javascript
复制
merged = cv2.bitwise_and(img, img , mask=erosion)
plt.imshow(merged, cmap="gray")

我现在正试图移除左上角的胸肌。在本出版物中:https://www.ncbi.nlm.nih.gov/pubmed/26742491使用完全相同的数据集,并在“种子区域生长”中这样做。但是,没有提供代码,我在opencv中找不到这一点。

我可以实现类似的结果,通过做扩张/侵蚀等,但我正在寻找一个更通用的解决方案。此外,这些图像中有些没有显示肌肉,这也应该被检测到。

EN

回答 1

Stack Overflow用户

发布于 2017-02-17 18:39:15

我将使用以下方法:

  1. (可选)我将用重建的<=>侵蚀,然后是测地线膨胀来代替开孔和侵蚀。它将保持原来的形状,然后你将保持一个更大的投资回报率。
  2. 卷积滤波器(高斯或简单平均)以平滑图像
  3. 白色大礼帽,以探测亮区。
  4. 然后,将顶帽结果减去原始图像。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42297665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档