2
我有同一图像的标记和灰度版本,我想从灰度版本中提取具有特定标签编号的区域。使用图像标签的Matlab图像提取
例如,图像标签包含标记为1,2和3的组件;我希望灰度图像中标号为3的像素作为新的图像矩阵。有没有更简单的方法来做到这一点,而不是使用循环检查每个像素的标签= 3,并将相应的像素设置为灰度值,并将像素关闭其他标签?
我有同一图像的标记和灰度版本,我想从灰度版本中提取具有特定标签编号的区域。使用图像标签的Matlab图像提取
例如,图像标签包含标记为1,2和3的组件;我希望灰度图像中标号为3的像素作为新的图像矩阵。有没有更简单的方法来做到这一点,而不是使用循环检查每个像素的标签= 3,并将相应的像素设置为灰度值,并将像素关闭其他标签?
假设您有图像阵列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