2

RGB のカラー レベルを増減する必要があるボタンがあります。このようなことをしてみました

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

しかし、それはいくつかの奇妙な画像の不具合を引き起こします. 何か案は?私はプロではないので、おそらくこれについてはすべて間違っていると思いますが、ポインタがあれば大歓迎です.

4

1 に答える 1

1

考慮すべき点がいくつかあります。

  1. im3 = im3(:,:,1) + 2;新しい値をimg3variable に代入し、それを 2D 行列にします。あなたがすべきですim3(:,:,1) = im3(:,:,1) + 2;。3 番目のチャネルですべての値を 2 増やします。
  2. 追加すると、イメージの許容値よりも大きな値になる場合があります。の使用を検討してimaddください。
  3. イメージ変数は通常、 typedoubleまたは typeuint8です。値が の場合、double値は実数で、0 から 1 の間です。値が の場合、値はunit80 から 255 の間の整数です。タイプが の場合、2 を足すことは合理的ですが、タイプが の場合uint8はそうではありませんdouble。その場合は 2/255 までに追加する必要があります。im2doubleまたはim2uint8を適切なスケーリングで型変換に使用できます。imgを実行して、変数のクラスに注意してくださいclass(img)
于 2012-12-23T17:12:44.427 に答える