1

モノクロの背景に対して単一のオブジェクトを含む RGB 画像を使用しています。

私の目標は、画像内のオブジェクトを分離し、画像のサイズを変更してオブジェクトのみを含めることです。

適切なしきい値を使用して画像をバイナリ画像に変換することで、オブジェクトを検出することに成功しました。次に、元の RGB イメージ内のオブジェクトを分離するために、バイナリ イメージを元の RGB イメージのマスクとして使用します。

maskedImage = bsxfun(@times,originalimage, cast(binaryimage,class(originalimage)));

これにより、黒い背景に囲まれたオブジェクトのみを含む画像が残ります。これは、私が使用したバイナリ イメージ マスクがオブジェクトを白いピクセルに、背景を黒いピクセルに含み、強度値が 0 であるため、マスキング プロセスによってオブジェクトに属さないすべてのピクセルが黒いピクセルに変換されたためです。以下に例を添付しました。

2 つのマペット

オブジェクトの周りにバウンディング ボックスを描画し、イメージのサイズをバウンディング ボックスのサイズに変更して、周囲の黒いピクセルをできるだけ取り除くことができるようにします。これを行う方法はありますか?どんな助けでも大歓迎です。

4

2 に答える 2