問題タブ [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.
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を作成する方法を説明します。
読んでくれてありがとう。誰かがこれについて私を助けてくれたら本当に感謝しています。
opengl-es - OpenGL ESでrgbを変換せずにyuv形式のデータを表示するには?
私はiOS用のOpenGL ESについて勉強しています。YUV形式のデータはRGB変換せずに表示できるのだろうか。ほとんどの場合、yuv データは表示用に RGB に変換する必要があります。しかし、変換処理が非常に遅く、スムーズに表示されません。 そこで、RGBに変換せずにYUVデータを表示してみたいと思います。出来ますか?可能であれば、どうすればよいですか? アドバイスをさせてください。
c - YUV 422、YUV 420、YUV 444
たとえば、4 * 4 の画像があります。Y、U、V コンポーネントを別々に抽出したい。画像が YUV 422、YUV 420、YUV444 の場合の方法。アクセスできるように、Y、U、および V が 422、420、および 444 にどのように格納されているか、配列の構造を知りたいと思っています。
android - Android YUV 画像形式
私たちのアプリケーションでは、ビデオを転送する必要があります。Camera クラスを使用してバッファをキャプチャし、宛先に送信します。
バッファを受け取るカメラパラメータとしてフォーマットをYV12に設定しましたが、
500X300 バッファの場合、230400 バイトのバッファを受け取り、
知りたいのですが、これは予想されるバッファサイズですか?
サイズは
Y 平面 = 幅 * 高さ = 500X300 = 150000
U プレーン = 幅/2 * 高さ/2 = = 37500
V プレーン = 幅/2 * 高さ/2 = = 37500
各コンポーネントのストライド値を取得する必要がある場合、誰でも説明できますか?どうすればそれを取得できますか?
それを得る方法はありますか?
android - Android でのビデオ再生から YUV フレームをキャプチャする
video
に保存されているファイルを再生する Android 上のアプリケーションがありますSD card
。YUV
ソフトウェアが実行する処理機能のために、個々のフレームの情報をキャプチャする必要があります。
現在、アプリでストック Android を使用していMediaPlayer
ます。YUV
これを使用してフレーム情報をキャプチャできますか? もしそうなら、どのように?
ありがとう、ジョセフ
matlab - matlab の rgb2ycbcr 式は何ですか?
matlab の rgb2ycbcr 式は何ですか?これに使用している標準はどれですか?
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
この問題を解決するためのヒントはありますか?
c++ - GLSLを介してYV12をRGBに変換する際の問題
この投稿で言及されているYV12からRGBへの変換をGLSLシェーダーで実現しようとしています。
私のアプリケーションは、ディスクから生のYV12フレームをロードし、GLSLシェーダーを使用して変換を実行しようとします。ただし、結果の画像は垂直方向に反転し、色の問題がいくつかあります。char
問題は、画像が(1バイト)の配列として読み取られてから(2バイト)の配列に変換されていることだと思いますGLushort
。どう思いますか?
生のYUVフレームは次のようになります。
アプリケーションによってロードされた生のフレームは、ここからダウンロードできます。
これが私が得ている出力です:
以下のアプリケーションのソースコードを共有しています:
ios - iOS版GLSLでYUV(YV12)からRGBへの変換について
YUV(YV12) を GLSL シェーダで RGB に変換しようとしています。
以下の手順のとおりです。
- 画像ファイルから生の YUV(YV12) データを読み取る
- 生の YUV(YV12) データからの Y、Cb、および Cr のフィルタリング
- テクスチャのマッピング
- Fragment Shaderを送ります。
しかし、結果の画像は生データと同じではありません。
下の画像は生データです。
下の画像は変換データです。
以下は私のソースコードです。
以下は Fragment Shader のソースコードです。
Y データは良好ですが、U および V データは良好ではありません。また、画像データのy軸は反転出力です。
この問題を解決するにはどうすればよいですか?
ffmpeg - swscalePIX_FMT_YUYV422をミラーリングする方法
libswscalePIX_FMT_YUYV422タイプのイメージを水平方向にミラーリングしようとしています。ピクセルあたり16ビットの各行に単純なループを使用すると、色が間違ってしまいます。たとえば、青いオブジェクトはオレンジ色になります。これが私のコードです:
次に、YUVPixelを32ビットタイプとして再定義し、それに応じてループを変更してみました。これにより正しい色になりますが、隣接するピクセルが入れ替わっているように見えます。何かアイデアはありますか、私はこれで完全に迷っていますか?