Image 在MATLAB中选择图像中的宽目标边缘

Image 在MATLAB中选择图像中的宽目标边缘,image,matlab,image-processing,edge-detection,Image,Matlab,Image Processing,Edge Detection,我有核磁共振成像的肿瘤图像,我正在做一些后处理(逐像素模型拟合等)。由于对比度低,我用手选择了一个肿瘤(使用ROIPLY)。我需要将我选择的肿瘤分为外围(大约10像素宽)和中心(肿瘤的其余部分)。我可以用ROIPLY来做这个,但这不是很精确,每个肿瘤的边缘都会有点不同。我正在寻找一些边缘检测的改进,它可以检测出比我选择的对象(肿瘤)小10像素的区域 侵蚀(形态操作) 您有一个分割为True的二值图像,并且想要在True和False之间有10px宽的边界 你只需要将你的面具腐蚀10像素,然后从原始

我有核磁共振成像的肿瘤图像,我正在做一些后处理(逐像素模型拟合等)。由于对比度低,我用手选择了一个肿瘤(使用ROIPLY)。我需要将我选择的肿瘤分为外围(大约10像素宽)和中心(肿瘤的其余部分)。我可以用ROIPLY来做这个,但这不是很精确,每个肿瘤的边缘都会有点不同。我正在寻找一些边缘检测的改进,它可以检测出比我选择的对象(肿瘤)小10像素的区域

侵蚀(形态操作) 您有一个分割为True的二值图像,并且想要在True和False之间有10px宽的边界

你只需要将你的面具腐蚀10像素,然后从原始面具中减去它。

在伪代码中:

border = mask - erosion(mask,10)

更多关于


有关Matlab的详细信息,请访问。

是的!我喜欢把我的肿瘤面具腐蚀10个像素。肿瘤当然是不规则的。我的答案是关于一般技术。问题可能是您的特定边界非常蛇形。为此,你可能不得不考虑阅读文章和类似的复杂技术,以使你的问题对社区有吸引力和有用,我能感兴趣的是你添加样本图像(源图像、分段的、期望的结果)和你尝试过的(简要代码概述)?