在MATLAB中控制MSERRegions.plot()使用的颜色?

时间:2012-05-30 23:59:13

标签: matlab plot computer-vision matlab-cvst mser

我想通过绘制不同颜色的图像来显示多个MSER区域的分区,但是计算机视觉工具箱中的MSERRegions.plot()方法不接受'Color'参数。使用hold all也不会导致后续绘图循环显示颜色。 (所有区域椭圆都是以亮绿色绘制的。)

这是一个示例图,以阐明我正在尝试做的事情:

enter image description here

我已将下面的区域划分为三个单独的组,我想以不同的颜色绘制每个组。有一种简单的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:2)

执行此操作的一种简单但“hackish”的方法是获取Children的{​​{1}}个对象,然后设置这些对象的颜色。

Axes

首先,您需要确保子对象确实具有颜色属性,如果它们是用线绘制的,那么它们将会。您可以通过调用childrenObjs = get(gca,'Children'); set(childrenObj, 'Color', desiredColor); 来确定子对象的类型。

最后如果要为每个组设置特定颜色,只需在绘制第一个组后设置颜色。获取第二个组,查看哪些句柄是新的,并仅在新句柄上设置颜色。为第三组再次这样做。