2012-12-27 50 views
2

我有同一图像的标记和灰度版本,我想从灰度版本中提取具有特定标签编号的区域。使用图像标签的Matlab图像提取

例如,图像标签包含标记为1,2和3的组件;我希望灰度图像中标号为3的像素作为新的图像矩阵。有没有更简单的方法来做到这一点,而不是使用循环检查每个像素的标签= 3,并将相应的像素设置为灰度值,并将像素关闭其他标签?

回答

1

假设您有图像阵列img和您的标签阵列lbl。然后你可以构建一个新的图像如下:

%# make a copy of the image 
newImg = img; 

%# turn off all the non-label-3 pixels 
newImg(lbl~=3) = NaN; %# alternatively, you can mask with 0, but this may affect contrast