Matlab编辑RGB值

时间:2012-12-23 17:08:35

标签: matlab

我有按钮需要增加\降低RGB的色彩等级。尝试做这样的事情

im3 = im3(:,:,1) + 2;

但它会造成一些奇怪的图像故障。有任何想法吗? 我不是专业人士,所以我可能会对这一切都错了,但任何指针都会非常感激。

1 个答案:

答案 0 :(得分:1)

您应该考虑以下几点:

  1. im3 = im3(:,:,1) + 2;将新值分配给img3变量并使其成为2D矩阵。你应该做im3(:,:,1) = im3(:,:,1) + 2;。在第三个频道中将所有值增加2。
  2. 添加可能会导致值大于图像的允许值。您可以考虑使用imadd
  3. 图像变量通常为double类型或uint8类型。如果值为double,则值为实数且介于0和1之间。如果值为unit8,则值为0到255之间的整数。如果类型为2,则加2是合理的uint8,但不是类型为double时。如果是这样,你应该加2/255。您可以使用im2doubleim2uint8进行适当缩放的类型转换。通过运行img来了解class(img)变量的类。