2017-03-22 3 views
1

私はすべてのアップデートでビデオテクスチャの特定の4x4エリアから平均色を取得しようとしています。それは黒または白のいずれかですが、私はビデオをストリーミングしているので、解像度は時々灰色を帯びている可能性があります。私はそれがスペクトルの白い/明るい灰色の面で「ほぼ黒い」かそれ以上であるかをより正確に調べる必要があります。Unityのビデオテクスチャ内のピクセルブロックの色範囲を取得する

私はC#と単一性に非常に新しいです。私はTexture2D.GetPixelまたはTexture2D.GetPixels32が良いかもしれないが、私はビデオテクスチャからどのようにすることができるのか分かりません。

お手伝いいただける方に感謝します。

+0

ビデオコードはどこですか? – Programmer

+0

私は現在UniversalMediaPlayerを使用して、任意のオブジェクト(ユニティアセットストアから)のビデオをストリーミングしています – KeepCool

答えて

1

ポストthisをご覧ください。あなたがイメージからテクスチャを取得し、そのピクセルを平均化するその人物と同じことをしているように見えます。

私はこれを重複とはみなさない理由は、テクスチャのすべてのピクセルではなく特定の(4x4)領域からピクセルを取得したいからです。

Texture2D.GetPixelまたはTexture2D.GetPixels32良いかもしれない、

あなたはspeficic画素にこれを実行したいので、あなたはTexture2D.GetPixelまたはTexture2D.GetPixels32でそれを行うことはできません。使用しているUniversalMediaPlayerプラグインは必要ありません。

これはGetPixels機能で実行できます。最後にの 'に注目してください。

これは、関数のプロトタイプです:

あなたはそれがこのようになるはずテクスチャから読みたいピクセルの位置に応じて、
Color[] GetPixels(int x, int y, int blockWidth, int blockHeight); 

Color[] texColors = tex.GetPixels(0, 0, 4, 4); 

あなたはそれを使用する必要がありますColor32[] texColors = tex.GetPixels32();からthisの代わりに答えます。

あなたはユニティの新しいのVideoPlayerの上にそれを好む場合あなたはまだあなたのUniversalMediaPlayerビデオプラグインを使用することができます。 GetPixels解決策は引き続き有効です。

+1

ありがとう、プログラマーです!あなたのような人に自分のような初心者を手伝ってもらい、初めにその言語を学ぶことができないために私たちを馬鹿のように扱わないようにするのはとても素晴らしいことです。 「チェックマーク」以上にあなたに返済する方法があることを願っています。 – KeepCool

+1

また、コードをよく説明してくれてありがとう。 – KeepCool

+0

ようこそ。将来の質問にコードを追加することを忘れないでください(必要に応じて)ので、あなたの質問は投票されないようにしてください。 – Programmer

関連する問題