0

我有一个彩色图像。图像由具有阴影的对象组成。我已经删除了阴影,但阴影部分的颜色与背景颜色不相似。现在如何使用 MATLAB 编码匹配颜色?

4

1 回答 1

0

您可以更改与您的图像相对应的 matlab 矩阵(此处称为 IMG)。例如,假设您将阴影的像素更改为 -20。比你能得到他们的索引

indexes = (IMG == -20)

要将这些值更改为背景颜色,例如假设等于 100,您设置比做

IMG(indexes) = 100

由于您使用的是彩色图像,因此您需要对与您的图像对应的所有三种颜色矩阵执行此操作。在这种情况下,您将为每个图层设置背景颜色,而不是重复该过程

indexes1 = (IMG(:, :, 1) == shadow_color_layer_1)

indexes2 = (IMG(:, :, 2) == shadow_color_layer_2)

indexes3 = (IMG(:, :, 3) == shadow_color_layer_3)

IMG(indexes,1) = background_color_layer_1

IMG(indexes,2) = background_color_layer_2

IMG(indexes,3) = background_color_layer_3

于 2013-05-09T18:14:05.687 回答