如何解决我该如何进行细分
在这项工作中:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5480585/ Montouro等人指定了一种分割OCT图像的方法,如下所示:
我想进行类似的细分,但是我不知道如何。这是我尝试过的:
# load image
img = cv2.imread('OCT.jpeg')
# define colors
color1 = (255,0)
color2 = (255,128,128)
color3 = (0,92,0)
color4 = (128,192,255)
color5 = (0,164,255)
color6 = (122,167,141)
color7 = (0,255,0)
color8 = (0,255)
# build 8 color image of size 256x1 in blocks of 32
lut = np.zeros([1,256,3],dtype=np.uint8)
lut[:,0:32] = color1
lut[:,32:64] = color2
lut[:,64:96] = color4
lut[:,96:128] = color5
lut[:,128:160] = color6
lut[:,160:192] = color7
lut[:,192:256] = color8
# apply lut
result = cv2.LUT(img,lut)
# save result
cv2.imwrite('lut.png',lut)
cv2.imwrite('OCT_colorized.png',result)
我得到这个结果:
这不是我想要的。如何复制Montuoro等人的工作?
解决方法
听起来有些傻,您可以尝试几个步骤。
首先,尝试使用您的颜色和细分边界。对于您的硬编码示例,您使用的是蓝色而不是较浅的蓝色,等等。此外,您正在以均匀间隔的数字(每32个像素值)创建色带,但是各个组成部分的含义决定了不同的色带。例如,color2与深蓝色的混合表明第一个带太窄。尝试使用它作为探索数据的一种方式。也许看看直方图,看看会跳出什么。
这可能不会为您显示精美的图像。这种分割似乎是通过更多的计算完成的,而不仅仅是像素值。生物学是一团糟。传感器杂乱。通过强制分段是连续的,努力进行清理。有时这也可能是错误的根源。
第一部分,使用NumPy的ListedColormap
,以哪种方式选择像素,有时也称为颜色映射。第二部分,学习如何对图像进行分割以产生可表现的水肿,通常是图像分割,可能需要一些深度学习。
问题中引用的论文解释了一种非常详细的图像分割方法。本文in this schematic对此进行了解释。
摘自论文
...建议的方法包括以下步骤:首先, 从原始OCT数据中提取基于图像的特征并用于 连同手动标签一起训练基本体素分类器。的 然后将得到的概率图用于执行初始表面 分割并提取各种基于上下文的特征。第二, 这些功能与基于图像的功能结合使用 训练另一个分类器这种基于上下文的特征提取和 然后将其他分类器训练迭代重复多次 自动上下文循环中的时间。
如果您正在寻找类似的结果,则应查看作者已实现的内容并复制它。本文中有足够的详细信息来构建作者创建的内容。
,在您的方法中,永远无法正确分割图像。您可以将代码应用于真实情况图像中,每个实例都有唯一的标签,在这种情况下它将起作用。如果您不想使用深度学习,则可以尝试multi class ostu thresholding,尽管这种类型的计算机视觉算法的性能会很差。如果您希望手动使用labelme是可取的,那么可以在线使用许多工具。为了获得最佳可视化效果(制作任何桌子或雕像),您可以尝试进行深度学习(Link1 Link2)或手动分段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。