Как извлечь часть изображения внутри указанной границы в MATLAB

Я новичок в MATLAB, я хотел знать, могу ли я извлечь часть изображения изнутри указанной границы на основе различая цвет (красная граница в моем случае), функция сначала отслеживает границу изображения, а затем извлекает ту часть изображения, которая находится внутри этой конкретной границы. У меня есть мое изображение (изображение головы человека), я хотел извлечь часть мозга из головы, остальную часть изображения следует игнорировать. Я попытался найти края, используя следующий код (он показывает 1 для границ и 0 без границ), но он показал только 0.

Любая помощь будет принята с благодарностью.

P.S. прикрепленное изображение показывает исходное изображение и изображение с границей .... код будет работать с изображением с границей и будет извлекать часть изображения, лежащую внутри этой границы.

Ниже приведен код, который я пробовал:

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',...)

enter image description here

8
задан Rizwan606 15 July 2011 в 07:14
поделиться