我想通过以不同颜色绘制多个 MSER 区域来可视化它们的分区,但计算机视觉工具箱中的 MSERRegions.plot()
方法不接受 '颜色'
参数。使用 hold all
也不会导致后续绘图循环显示颜色。 (所有区域椭圆始终以亮绿色绘制。)
这是一个示例图,用于阐明我想要做什么:
我已将下面的区域分为三个单独的组,并且我想以不同的颜色绘制每个组。有没有简单的方法可以做到这一点?
最佳答案
一种简单但“hackish”的方法是获取 Axes
的 Children
对象,然后设置这些对象的颜色。
childrenObjs = get(gca,'Children');
set(childrenObj, 'Color', desiredColor);
首先,您需要确保子对象确实具有颜色属性,如果它们是用线条绘制的,那么它们就会具有颜色属性。您可以通过调用handle(child)
来确定子对象的类型。
最后,如果您想为每个组设置特定颜色,只需在绘制第一个组后设置颜色即可。让第二组查看哪些 handle 是新的,并仅在新 handle 上设置颜色。对第三组再次执行此操作。
关于matlab - 控制 MATLAB 中 MSERRegions.plot() 使用的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825850/