如何在MATLAB中的指定边界内提取部分图像

我是MATLAB的新手,我想知道我可以根据区分颜色(在我的情况下是红色边界)从指定边界内部提取图像的一部分,该函数首先跟踪图像的边界,然后是提取该特定边界内部的图像部分.我附上了我的图像(人头图像),我想从头部提取大脑部分,图像的其他部分应该被忽略.我尝试使用以下代码找到边缘(它显示1为边界,0为无边界),但它只显示0.

任何帮助将不胜感激.

附:附加图像显示带边界的原始图像和图像….代码将处理带边界的图像,并将提取位于该边界内的图像部分.

以下是我试过的代码:

BW = edge(x)

BW = edge(x,'sobel')
BW = edge(x,'sobel',thresh)
BW = edge(x,'sobel',thresh,direction)
[BW,thresh] = edge(x,'sobel',...)

BW = edge(x,'prewitt')
BW = edge(x,'prewitt',thresh)
BW = edge(x,'prewitt',thresh,direction)
[BW,thresh] = edge(x,'prewitt',...)

BW = edge(x,'roberts')
BW = edge(x,'roberts',thresh)
[BW,thresh] = edge(x,'roberts',...)

BW = edge(x,'log')
BW = edge(x,'log',thresh)
BW = edge(x,'log',thresh,sigma)
[BW,threshold] = edge(x,'log',...)

BW = edge(x,'zerocross',thresh,h)
[BW,thresh] = edge(x,'zerocross',...)

BW = edge(x,'canny')
BW = edge(x,'canny',thresh)
BW = edge(x,'canny',thresh,sigma)
[BW,threshold] = edge(x,'canny',...)
因为您已将问题域呈现为CT图像.我有一个很好的建议,你可以提取脑组织的区域.你可以做出很好的假设.

一个很好的假设:
大脑区域除颅骨外没有骨骼(正常病例),并且根据CT的某些特性,您可以通过查找Hounsfield量表(http://en.wikipedia.org/wiki/Hounsfield_scale)轻松提取(或移除)骨骼(在这种情况下为颅骨)

0)要获得正确的房屋单位,你需要三个元素i)原始像素值ii)重新缩放斜率iii)重新缩放截距(所有三个都可以位于原始dicom标题中,HU可以根据我们的高中数学知识计算:y = mx b,因为你有截距,斜率和输入值).

1)一旦你知道了骨骼的位置,你只需要减去你的图像以获得颅骨所包围的任何东西.

2)在查看你的matlab代码时,我确定你可以执行步骤1)从残羹剩饭中分割出正确的regoin.

相关文章
相关标签/搜索