2

我有需要增加\减少RGB颜色级别的按钮。尝试做这样的事情

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

但它会产生一些奇怪的图像故障。有任何想法吗?我不是专业人士,所以我可能会做错这一切,但任何指针都将不胜感激。

4

1 回答 1

1

您应该考虑以下几点:

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