4

オブジェクト追跡を実現するためにopencvを使用しています。YUV 画像は RGB 画像よりも使用するのに適したオプションであると読みました。私の問題は、メモを読むのに多くの時間を費やしているにもかかわらず、YUV 形式について理解できないことです。Yは、R、G、B成分の組み合わせから計算されると私が信じている明るさです。

私の主な問題は、YUV 画像形式のピクセルにアクセスして操作する方法です。RGB 形式では、コンポーネントに簡単にアクセスできるため、次のような簡単な操作で変更できます。

src.at<Vec3b>(j,i).val[0] = 0; for example

しかし、これは YUV には当てはまりません。YUV 画像のピクセル値にアクセスして変更する際に助けが必要です。たとえば、RGB のピクセルが赤の場合、YUV の対応するピクセルのみを保持し、残りは削除します。これで私を助けてください。

4

4 に答える 4

1

また、U および V コンポーネントは、RGB 値の線形結合として計算されます。次に、赤の異なる強度 (R,0,0) がいくつかの (y*R + a,u*R + b, v*R + c) にマッピングされることを意味します。 YUV は、y、u、v、a、b、c (一部は冗長) によって決定されるそのラインまでのピクセルの距離がゼロに近いかどうかを計算できます。これは、単一の内積で達成できます。次に、残りのピクセルを YUV 空間の (0,128,128) に設定します (ほぼすべての種類の YCrCb、YUV などで R=0、G=0、B=0 だと思います)。

于 2013-05-13T05:40:24.127 に答える