Matlab 用颜色填充某些区域,图像的其余部分为黑色

Matlab 用颜色填充某些区域,图像的其余部分为黑色,matlab,colors,polygon,fill,region,Matlab,Colors,Polygon,Fill,Region,在使用imshow和hold on后,我在图像上绘制了一些多边形,并用白色填充,如下所示: fill(x(k),y(k),[1 1 1]) 如何使图像的其余部分为黑色,同时保持多边形为白色?换句话说,如果多边形是白色的,而图像的其余部分是黑色的,我如何制作一个二值图像呢?假设多边形有点复杂 谢谢。使用: 其中,I是您的输入图像(您只需要它来获得二进制maxkBW的所需输出大小)y和x是多边形的角。谢谢您的回复。我试过你的建议。对于y,我输入了我的ymax值和x我的xmin值。而且,I是我的原始

在使用
imshow
hold on
后,我在图像上绘制了一些多边形,并用
白色填充,如下所示:

fill(x(k),y(k),[1 1 1])
如何使图像的其余部分
为黑色
,同时保持多边形
为白色
?换句话说,如果多边形是白色的,而图像的其余部分是黑色的,我如何制作一个二值图像呢?假设多边形有点复杂

谢谢。

使用:


其中,
I
是您的输入图像(您只需要它来获得二进制maxk
BW
的所需输出大小)
y
x
是多边形的角。

谢谢您的回复。我试过你的建议。对于
y
,我输入了我的
ymax
值和
x
我的
xmin
值。而且,
I
是我的原始图像。但是,当我运行你提供的线路时,我得到了一个黑色图像。也许我遗漏了在
BW
之前必须输入的内容?@Simplicity
y
x
应该是多边形角点的所有x和y坐标的向量。如果多边形有3个角(三角形),那么x和y应该有3个值(每个值)。我刚刚交换了x(k)和y(k),这样,我在y(k)之前写了x(k),并且认为我得到了期望的结果。谢谢
BW = roipoly( I, x(k), y(k) );