問題タブ [yuv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3259 参照

java - CameraPreviewクラスからYUV画像バッファーを作成/使用

このアプリケーションでは、カメラ@ 33 fpsからのキャプチャフレームを使用し、サーバーに送信する前に圧縮に渡す必要があります。

私の圧縮モジュールはYUV画像を撮ることができ、画像を圧縮するために、私のカメラ構成は次のようになります、

幅=500ピクセル、
高さ= 300ピクセル、
画像形式:YV12

プレビューコールバックについて

データサイズは230400になりますが、およそ

500 * 300(Y)+ 500 * 300/4(U)+ 500 * 300/4(V)すなわち2250000

つまり、5400バイト多いということは、意味のあるものを無視できるということですか?

また、YUVImageオブジェクトを作成する必要がありますが、ストライド情報が表示されないため、上記のデータからYUVImageを作成する方法を説明します。

読んでくれてありがとう。誰かがこれについて私を助けてくれたら本当に感謝しています。

0 投票する
3 に答える
9414 参照

opengl-es - OpenGL ESでrgbを変換せずにyuv形式のデータを表示するには?

私はiOS用のOpenGL ESについて勉強しています。YUV形式のデータはRGB変換せずに表示できるのだろうか。ほとんどの場合、yuv データは表示用に RGB に変換する必要があります。しかし、変換処理が非常に遅く、スムーズに表示されません。 そこで、RGBに変換せずにYUVデータを表示してみたいと思います。出来ますか?可能であれば、どうすればよいですか? アドバイスをさせてください。

0 投票する
2 に答える
38445 参照

c - YUV 422、YUV 420、YUV 444

たとえば、4 * 4 の画像があります。Y、U、V コンポーネントを別々に抽出したい。画像が YUV 422、YUV 420、YUV444 の場合の方法。アクセスできるように、Y、U、および V が 422、420、および 444 にどのように格納されているか、配列の構造を知りたいと思っています。

0 投票する
4 に答える
14557 参照

android - Android YUV 画像形式

私たちのアプリケーションでは、ビデオを転送する必要があります。Camera クラスを使用してバッファをキャプチャし、宛先に送信します。

バッファを受け取るカメラパラメータとしてフォーマットをYV12に設定しましたが、

500X300 バッファの場合、230400 バイトのバッファを受け取り、

知りたいのですが、これは予想されるバッファサイズですか?
サイズは

Y 平面 = 幅 * 高さ = 500X300 = 150000

U プレーン = 幅/2 * 高さ/2 = = 37500

V プレーン = 幅/2 * 高さ/2 = = 37500

各コンポーネントのストライド値を取得する必要がある場合、誰でも説明できますか?どうすればそれを取得できますか?

それを得る方法はありますか?

0 投票する
1 に答える
1640 参照

android - Android でのビデオ再生から YUV フレームをキャプチャする

videoに保存されているファイルを再生する Android 上のアプリケーションがありますSD cardYUVソフトウェアが実行する処理機能のために、個々のフレームの情報をキャプチャする必要があります。

現在、アプリでストック Android を使用していMediaPlayerます。YUVこれを使用してフレーム情報をキャプチャできますか? もしそうなら、どのように?

ありがとう、ジョセフ

0 投票する
1 に答える
1639 参照

matlab - matlab の rgb2ycbcr 式は何ですか?

matlab の rgb2ycbcr 式は何ですか?これに使用している標準はどれですか?

0 投票する
1 に答える
688 参照

c - glPopMatrix() が「setup_hardware_state でサポートされていないテクスチャ形式です」と叫ぶ

ビデオ フレームは YV12 でエンコードされており、OpenGL はこの形式を表示するネイティブな方法を提供していないため、MP4 ファイルの再生は CPUに負担がかかるため、Linux 用のプライベート ビデオ プレーヤーでパフォーマンスの向上を目指していくつかの最適化を試みています。 . 現在、画像が表示のために GPU に送信される前に YV12 を RGB に変換するために CPU で実行されるコードがあり、これは CPU 処理の 100% を消費します。

現在、YV12 -> RGB 変換を行うシェーダーを作成せずに YV12 フレームをデコードする方法を調査しています。私が理解している限り、これを行う1つの方法はGL_MESA_ycbcr_textureを使用することであり、明らかに私のシステムでサポートされています( によって報告されていますglxinfo)。

この Fedora ボックスには、まともなビデオ カードであるATI Technologies Inc RV610 ビデオ デバイス [Radeon HD 2400 PRO]があります。次に、yuvrectGL_TEXTURE_RECTANGLE_NVテストをダウンロードし、いくつかの変更を加えて、このカードでサポートされているテクスチャに置き換えましたGL_TEXTURE_RECTANGLE_ARB

ただし、この変更されたアプリケーションを実行すると、次のように出力されます。

glPopMatrix();をコールバックから実行すると、このエラーが表示されることに気付きましたDisplay()。これは私のアプリケーションのバグではないようです。別のビデオ カードを搭載した別の Fedora ボックス (同じシステム) でまったく同じコードを実行したからです: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)、動作します。美しく。

2 つのバイナリの目に見える唯一の違いは、リンクされているライブラリです。(問題のある) ATI カードでlddレポート:

一方、Intel カードでは、libv4l やその他のライブラリとリンクされていましたが、ATI ではリンクされていませんでした。これが私が直面している問題と関係があるのだろうか:

以下の例を実行する場合は、 readtex.c 、 readtex.h 、 girl.rgb が必要ようにコンパイルします。g++ yuvrect.cpp -o yuvrect -lGL -lGLU -lglut -lGLEW

この問題を解決するためのヒントはありますか?

0 投票する
1 に答える
4069 参照

c++ - GLSLを介してYV12をRGBに変換する際の問題

この投稿で言及されているYV12からRGBへの変換をGLSLシェーダーで実現しようとしています。

私のアプリケーションは、ディスクから生のYV12フレームをロードし、GLSLシェーダーを使用して変換を実行しようとします。ただし、結果の画像は垂直方向に反転し、色の問題がいくつかあります。char問題は、画像が(1バイト)の配列として読み取られてから(2バイト)の配列に変換されていることだと思いますGLushort。どう思いますか?

生のYUVフレームは次のようになります。

ここに画像の説明を入力してください

アプリケーションによってロードされた生のフレームは、ここからダウンロードできます

これが私が得ている出力です:

ここに画像の説明を入力してください

以下のアプリケーションのソースコードを共有しています:

0 投票する
1 に答える
4856 参照

ios - iOS版GLSLでYUV(YV12)からRGBへの変換について

YUV(YV12) を GLSL シェーダで RGB に変換しようとしています。

以下の手順のとおりです。

  1. 画像ファイルから生の YUV(YV12) データを読み取る
  2. 生の YUV(YV12) データからの Y、Cb、および Cr のフィルタリング
  3. テクスチャのマッピング
  4. Fragment Shaderを送ります。

しかし、結果の画像は生データと同じではありません。

下の画像は生データです。

生画像リンクのスクリーンショット(ダウンロード可能)

下の画像は変換データです。

画像変換リンクのスクリーンショット(ダウンロード可能)

以下は私のソースコードです。

以下は Fragment Shader のソースコードです。

Y データは良好ですが、U および V データは良好ではありません。また、画像データのy軸は反転出力です。

この問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
906 参照

ffmpeg - swscalePIX_FMT_YUYV422をミラーリングする方法

libswscalePIX_FMT_YUYV422タイプのイメージを水平方向にミラーリングしようとしています。ピクセルあたり16ビットの各行に単純なループを使用すると、色が間違ってしまいます。たとえば、青いオブジェクトはオレンジ色になります。これが私のコードです:

次に、YUVPixelを32ビットタイプとして再定義し、それに応じてループを変更してみました。これにより正しい色になりますが、隣接するピクセルが入れ替わっているように見えます。何かアイデアはありますか、私はこれで完全に迷っていますか?