【发布时间】:2012-01-30 10:42:18
【问题描述】:
在尝试根据 2D 值矩阵修复颜色图时,这是一项简单但常见的任务。
为了演示考虑Matlab中的问题,解决方案不需要在Matlab中(即此处提供的代码仅用于演示目的)。
x = [0,1,2; 3,4,5; 6,7,8];
imagesc(x)
axis square
axis off
所以输出为:当某些值更改为超过最大值时,它会发生如下情况:
x = [0,1,2; 3,4,5; 6,7,18];
这看起来合乎逻辑,但当我们希望比较/跟踪两个地图中的元素时会出现问题。由于颜色图关联已更改,因此几乎不可能找到用于比较/跟踪等的单个单元格。
我实施的解决方案是将矩阵屏蔽为:
x = [0,1,2; 3,4,5; 6,7,18];
m = 8;
x(x>=m) = m;
效果很好。由于提供的代码需要搜索/过滤(额外耗时!)我想知道在 Matlab 中实现这项工作是否有通用/更有效的方法,Python 等?
出现此问题的一种情况是,当我们连续进行许多模拟并希望制作有意义的进度动画时;在这种情况下,每种颜色都应保持其关联固定。
【问题讨论】:
标签: python matlab masking color-mapping