問題タブ [qimage]

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 投票する
4 に答える
2598 参照

python - pythonはIplImageをQimageに変換します

openCV を使用していくつかのビデオを処理し、それを pyqt Qimage 内に配置しようとしています...

そのための例をいくつか見ましたが、それらはすべて C++ で書かれており、Python しか理解できません。

誰か助けてください...ありがとう

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

c++ - Qt Qimage と Boost Multi Array の間でデータを正しくコピーする

Qt イメージから Boost Multi Array にデータをコピーし、Multi Array に何らかの操作を行い、データを QImage にコピーして表示したいと考えています。

で生データにアクセスし、Qimage::bits()でコピーしようとしてstd::copyいますが、理解できないデータの配置に問題があるようです。ここに 32 bpp 画像のデータへのアクセスに関する注意事項がありますが、QImage を別の形式に変換しても問題は残ります。

典型的な問題を示すスニペットをまとめました。私が間違ってやっていることが複数あるかもしれませんので、ご容赦ください。ここで、画像 2の上半分を画像 1 にコピーして、この出力を得ようとしてます

私の.proファイルは単に含まれていますSOURCES += main.cpp

どんな助けでも大歓迎です。

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

qt - このコードで QImage のアルファ チャネルが失われるのはなぜですか?

以下のコードが Qt の QImage を変更する理由を理解しようとしています。(まだ) 何かをするためのものではなく、テスト用です。アルファ付きの画像でコードを実行すると、アルファ チャネルが失われ、黒い背景に置き換えられます。

行をコメントアウトした結果は次のimage.setPixel(...)とおりです。

ここに画像の説明を入力

そして、これが次のimage.setPixel(...)行の結果です。

ここに画像の説明を入力

私のコードは画像を変更しないと思います。なぜこれをやっているのですか?

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

qt - カスタムQIODevice実装を備えたQImageReader

別のQIODevice(ファイルの場合もあります)からのデータストリームを復号化するカスタムQIODeviceがあります。ファイルの暗号化と復号化に使用されます。一部のファイルは画像です。次に、QImageReaderを使用して暗号化ストリームから画像を直接ロードしますが、まれにQImageReaderがそのストリームからの画像の読み取りに失敗することがあります。暗号化されていないファイルからQImageReaderで適切に読み取ることができるPNG画像が1つあります。しかし、カスタムQIODeviceをQFileに重ねて、QImageReaderに渡すと、失敗して印刷されます。

「libpngエラー:IDAT:CRCエラー」

集中的なデバッグを行い、QImageReaderがQIODeviceで呼び出すすべての読み取りとシークをトレースし、暗号化されていないファイルのQFileと一緒に配置しました。

そして、ファイルから読み取られたすべてのデータは、ストリームからのデータとまったく同じであることが判明しました...

なぜそれはそのlibpngエラーを返すのでしょうか?

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

qt - Qt QImage を glsl テクスチャ サンプラーに渡す

Qt を使用してレンダリング エンジンを作成していますが、モデルのテクスチャリングで問題が発生しています

テクスチャリングをテストするための非常に単純なシェーダーがあります: 頂点シェーダー:

およびフラグメント シェーダー:

テクスチャ座標をシェーダーに正しく渡しています。問題は、QImage をバインドし、それをテクスチャ ユニフォームに送信することです。

次のコードを使用してテクスチャをバインドしています。

シェーダーが機能し、ユニフォームをマトリックスに渡し、属性を頂点とテクスチャ座標に渡すことができますが、ユニフォームを同じ方法でテクスチャに送信しようとすると、次のようになります。

glGetError() が「無効な列挙型」を返し、「アクセス違反読み取り場所」エラーでプログラムがクラッシュする</p>

興味深いことに、テクスチャをサンプラーに送信せずにプログラムを実行しようとすると、テクスチャが実際にモデルに表示されます。これは、バインディングの方法が従来のテクスチャ処理と関係があり、テクスチャがシェーダーによって取得されている特定のテクスチャ アドレスにバインドされていると思わせます。これは私が望む効果ではありません。なぜなら、描画時にどのテクスチャをユニフォームに渡す必要があるかをプログラマーが明示的に述べられるようにしたいからです (他のユニフォームが設​​定されているのと同じように)。

テクスチャをサンプラーに渡すにはどうすればよいですか? テクスチャをバインドするときに何を変更する必要がありますか?

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

qt - QImage/QPixmapのサイズ制限?

QPixmapおよび/またはQImage文書化されたオブジェクトの既知のサイズ/スペース制限はありますか? これに関する有用な情報は見つかりませんでした。現在、OSX と Windows で Qt 4.7.3 を使用しています。特に私は興味があります:

  • 幅/高さの制限?
  • カラーフォーマットによる制限?
  • 32/64 ビット マシンの違いは?
  • OSの違い?

メモリが唯一の制限であると単純に疑うので、最大サイズを次のように計算できます

幅 x 高さ x byte_per_pixel

もっと精巧な経験則があると思います。また、32 ビット マシンでは、GB ディメンションに遭遇したときにアドレス指定の問題が発生する可能性があります。

最後に、サイズが約 16000x16000 ピクセルの複数の RGBA 画像を保存し、透明度を使用して相互にレンダリングしたいと考えていますQGraphicsScene。利用可能なワークステーションには大量の RAM (16GB としましょう) を搭載できます。

tl;dr: QImage/QPixmap のどのようなサイズ制限を知っていますか、またはそのような情報はどこで見つけることができますか?

編集:私はタイリングアプローチを認識しており、それで問題ありません。それでも、上記のことを知っておくことは素晴らしいことです。

ありがとう!

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

c++ - Qtでバッファから画像をロードする方法は?

したがって、次のように入力します。

これは私にはうまくいきません。

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

qt - QImageの定義

このコマンドライン:QImage :: QImage(uchar * data、int width、int height、int bytesPerLine、Format format)使用しますか?QImage image = new QImage(buffer、600、400、jpg)bytesPerLine意味がよくないのですが、写真はkbを占めますか?ありがとう