私はMatlabと画像処理も初めてです。画像が次の場合、次の式で画像の明るさを変更できることを知っていますI
newImg=imadjust(I, [low_in high_in], [low_out,high_out]);
画像のすべてのピクセル値を調整しますが、画像内の顔を検出したように、画像の一部でそれを行うにはどうすればよいですかimadjust
?
編集
バイナリ マスクで領域を検出しました。
回答と回答の参照をご覧ください。
私はMatlabと画像処理も初めてです。画像が次の場合、次の式で画像の明るさを変更できることを知っていますI
newImg=imadjust(I, [low_in high_in], [low_out,high_out]);
画像のすべてのピクセル値を調整しますが、画像内の顔を検出したように、画像の一部でそれを行うにはどうすればよいですかimadjust
?
編集
バイナリ マスクで領域を検出しました。
回答と回答の参照をご覧ください。
私はそれをしました、
画像の一部の領域の明るさを変更したかったのですが、必要な領域はバイナリマスクによって計算されたmask
ので、最初に入力 Image の明るさを変更し、結果を次のようI
に保存しましたnewImg
newImg = imadjust(I, [low_in high_in], [low_out,high_out]);
次に、元の画像にマスクを適用し、newImg
このようなマスクされた領域の値を保存します
I(mask) = newImg (mask);
有益であり、誰も退屈しないと思います。質問をしていたという理由だけで人々が私のスレッドを閉じたので、皆さんが私をやる気にさせないなら、私は学ぶことができません。私はさまざまな種類のプロジェクトに同じ画像データベースを使用しています。
%Suppose these are the coordinates of the rectangle in which the face is detected%
%You can do the following to adjust the brightness of that region
topLeft = 10;
topRight = 50;
bottomLeft = 50;
newImg = I;
newImg(topLeft:bottomLeft,topLeft:topRight) = imadjust(newImg(topLeft:bottomLeft,topLeft:topRight), [low_in high_in], [low_out,high_out]);