0

デコードした画像を RGBA として保存し、ピクセルを次のタイプのバッファーに保存しました。

unsigned char *data1;

RGBA データの別のセットを含む別のバッファー (同じサイズ 480x720) があります。

unsigned char *data2;

OpenGL を使用して、これら 2 つのバッファーの点ごとの乗算を行うにはどうすればよいですか?

例: data1 と data2 の場合:
data1 = (a0,a1,a2,a3,a4,...)

data2 = (b0、b1、b2、b3、b4、...)

次に、OpenGL を使用して次のことを行う方法は?

data1*data2 = (a0*b0,a1*b1,a2*b2,a3*b3,a4*b4,...)

OpenGLを使用してこの操作を行うことは可能ですか?

4

2 に答える 2

1

私はopenGLのヘビーユーザーではないので、何ができるのか、何ができないのかを話すことはできませんが、OpenCVで達成しようとしていることを確認することをお勧めします。OpenCVを使用して利用できる瞳孔追跡の例はかなり多くあり、BeagleboardやRaspPiなどの組み込みデバイスでopenCVをコンパイルするための非常に優れたガイドがいくつかあります。

私はopenGLを描画ツール、openCVを処理ツールと考えています。

openCVには、定義済みの行列タイプと、実行したい行列操作の多くが付属しています。

http://opencv.willowgarage.com/wiki/

于 2013-03-04T19:53:07.340 に答える
0

使用できる単純なフラグメント シェーダー:

in vec2 tex_coords;
uniform sampler2d texture_a, texture_b;
out vec4 my_color;

vec4 a = texture(texture_a, tex_coords);
vec4 b = texture(texture_b, tex_coords);

my_color = vec4(a.r * b.r, a.g * b.g, a.b * b.b, 1.0);
于 2013-03-04T20:00:02.217 に答える