查找表基于matlab中的输入图像颜色

时间:2015-08-07 13:08:38

标签: matlab colors lookup-tables

假设我有两个输入图像。一个只包含三种颜色,如绿色,红色和蓝色作为标签。需要根据第一张图像中的颜色编辑的另一张图像。因此,例如,在标签图像为红色的任何地方,我都希望在原始图像上发生函数A

为此,我想创建一个查找,将颜色作为输入,并输出要在原始图像上执行的函数。

最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用logical indexing

im1 = [0 0 1; 
       1 2 0; 
       2 2 1];
im2 = rand(3);

找到im1等于1的地方:

idx = im1 == 1;

idx现在是一个逻辑矩阵,可以作为im2的掩码:

idx = 

    0   0   1
    1   0   0
    0   0   1

im2的所有相应像素执行某些操作:

im2(idx) = im2(idx) + 5;

此外,虽然我怀疑这是你问的问题,但你可以使用anonymous functions定义你的函数A

A = @(x)(2.*x.^2 - x + 5)
im2(idx) = A(im2(idx))