eag*_*e34 35 python opencv image-processing edge-detection image-segmentation
我已经在Python中训练了一个分类器,用于将单元格图像中的像素分类为边缘或非边缘.我已经成功地在一些图像数据集上使用它,但是遇到了这个特定数据集的问题,即使对人眼来说也是如此.我不知道任何可以准确分割它的现有自动化技术.
预测后,我得到以下图像:

我对图像处理相对较新,不确定如何继续实际获得细胞的最终分割.我简要地尝试了一些不同的技术 - 即霍夫圆形变换,水平集,骨架化,轮廓发现 - 但没有一个真正完成这个技巧.我只是没有正确调整参数,还是有更好的技术?
顺便提一下,这是正确的轮廓供参考.

和原始图像:

和连续概率图:

Sha*_*hai 55
非常好的边界检测工作.我曾经研究类似的分割问题.
一旦获得了e(i,j)指示像素"边缘度"的边缘图,i,j您就希望对图像进行尽可能尊重边缘图的分割.
为了以更正式的方式制定这个"尊重边缘图",我建议你看看相关聚类(CC)功能:
CC功能根据相邻像素之间的成对关系来评估分割的质量,无论它们是否应该在同一个集群中(它们之间没有边缘)或在不同的集群中(它们之间有一条边).
请看上述论文第7.1节中的示例.
CC也用于医学(神经元)成像中的类似分割问题,参见例如在这里.
一旦你说服自己CC确实是适合你的问题的公式,仍然存在如何将二进制边缘映射转换为CC可以处理的亲和度矩阵的问题.请记住,CC需要作为输入(通常是稀疏的)邻接矩阵,其中假设属于同一段的像素对具有正条目,并且假定属于不同分段的像素对的负条目.
这是我的建议:
边缘贴图中的边缘看起来很厚,并且没有很好的局部化.我建议将非最大抑制或形态学作为预处理阶段.
一旦你有一个更好的局部边缘,你忽略"边缘"像素,只使用"非边缘"像素,让我们称之为"活动".
两个相邻的有效像素:它们之间没有"边缘"像素 - 它们应该在一起.所以,对于不朽的nieghbors的进化矩阵应该有积极的因素.
考虑一条线上的三个像素,两个端点是"活动"像素:如果中间的一个是边缘,那么两个活动像素不应属于同一个集群 - 在这一点中,对象矩阵中的相应条目应为负数.如果中间像素也是活动的,则对象矩阵中的相应条目应该是正的.
考虑所有可能的相邻对和三元组(诱导24连通网格图)允许您构建具有适合CC的正和负条目的亲和度矩阵.
优化将仅生成有效像素的分区,您可以将其映射回输入图像域,将边缘像素保留为未分配给任何段.