問題タブ [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 投票する
1 に答える
7400 参照

c++ - Qt QImage のピクセル操作の問題

現在、Qt でステガノグラフィ アプリケーションを作成中です。ピクセルの青色の最下位ビットにメッセージ ビットを隠そうとしています。

デバッグから、このセクションが正常に機能していることがわかります。ただし、メッセージにビットを隠した後、画像を保存してから再度開きます。ここで問題が発生します。

(再度開いた)画像scanLinesを読み込むと、以前に書いたものと同じではなく、その理由がわかりません。多分それは私が愚かであるか、何かが足りないのかもしれません。どんな助けでも大歓迎です。

私がこれまでに持っているコードは次のとおりです

ありがとう

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

python - PyQt4-画像の透かし

PNG画像を開いて、QImageとQPainterを介してテキスト(透かし)を書き込もうとしています。コードは Linux で 100% 動作しますが、Windows XP で実行すると (他のバージョンの Windows ではテストしていません)、テキストがイメージに書き込まれることはありません。try/except ブロックにコードがありますが、エラーは返されません。

Python 2.6.2、PyQt 4.5.4 を使用

何か案は?

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

c++ - QWidget 外部 GUI スレッドでのペイントの問題

リモートホストから画像を継続的に受信して画面に表示するアプリケーションを開発しています。このために、私は与えられた戦略に従っています 1) QImage を含むメインの QWidget オブジェクトがあります (正常に動作します) 2) リモートホストから受信した画像は QImage オブジェクトに描画されます。この作業は QPainter を使用してワーカースレッドで行われます。(正常に動作します) 3) しかし問題は、再描画イベントが QWidget に対して呼び出されるため、ウィジェットのサイズを変更しない限り、QWidget で画像が更新されないことです...今、ワーカー スレッドから QWidget を再描画すると、エラーが発生します " QPixmap: GUI スレッドの外でピックスマップを使用するのは安全ではありません」..そしてアプリケーションがクラッシュします。

これに関するヘルプはありますか?

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

c++ - Qt:QImageは常に透明色を黒として保存します

Qtで透明色を黒にせずに、透明度のあるファイルをJPEGファイルに保存するにはどうすればよいですか?JPEGがアルファをサポートしていないことは知っています。黒はおそらくアルファのデフォルトの「0」値ですが、黒は恐ろしいデフォルトの色です。

これは簡単な操作のようですが、JPEGとして保存する場合、私が試したマスク関数とアルファ関数はすべて無視されます。

例えば:

JPEGとして保存する前に画像を白で塗りつぶし、保存する前に画像をARGB32(8ビットアルファチャネル付き)に変換してみました。さらに、次のような途方もなく遅いものも試しました。

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

qt - QPixmap :: fromImageのメモリリークを解決する方法は?

Qtに問題があります。

これが私を悩ませているコードの一部です:

そのため、このメソッドshowOnScreenはプライベートメソッドQImageIplImageCvtを使用して(OpenCVで使用される)から作成し、画像を全画面で表示するために作成するために使用されQImageます。クラスはを継承します。IplImageQPixmapFullScreenImageQLabel

少し遅れるとフルスクリーン画像が非表示になるはずなので、QTimer少し遅れてイベントをトリガーするために使用します。イベントハンドラはhideOnScreen、ラベルを非表示にし、メモリをクリアする必要があるメソッドです。

問題は次のとおりです。

を呼び出すたびにQPixmap::fromImage、ピックスマップデータ用のメモリが割り当てられ、データがQImageメモリバッファからメモリバッファにコピーされQPixmapます。ラベルが非表示になった後も、QPixmapデータは割り当てられたままになります。さらに悪いことに、新しいQPixmap::fromImage呼び出しの後、新しいメモリチャンクが新しい画像に割り当てられ、古いデータはメモリから解放されません。これにより、メモリリークが発生します(テスト画像では、メソッド呼び出しごとにcca 10 MB)。どうすればそのリークを解決できますか?

プライベートQPixmap変数を作成し、QPixmap::fromImageそれによって作成されたpixmapを格納してから、メソッドでそのデストラクタを呼び出そうとしましたhideOnScreenが、役に立ちませんでした。

QPixmapから作成する非静的な方法はありますQImageか?またはさらに良いことに、QPixmapから直接作成する方法はありIplImage*ますか?

よろしくお願いします。

0 投票する
5 に答える
5311 参照

image - QImage は純粋な 16 ビット イメージを開いてレンダリングできますか?

見出しは、私が知りたいことをすでに説明していると思います。
Qtで16ビットで画像を開いて保存する方法はありますか? そして、私は 3*8=24bit や 4*8=32bit を意味するのではなく、純粋な 8 ビット画像とまったく同じで、R、G、B の純粋な 16 ビットを意味します。

0 投票する
5 に答える
2616 参照

c++ - ファイル全体をロードせずにファイルが画像であるかどうかを確認する方法は? 画像ヘッダー読み取りライブラリはありますか?

編集:

すみません、私の質問があいまいだったと思います。画像全体の読み込みに時間を浪費することなく、ファイルが画像ではないかどうかを確認する方法が必要です。そうすれば、残りの読み込みを後で行うことができます。ファイル拡張子だけをチェックしたくありません。

アプリケーションは画像を表示するだけです。「有効性を確認する」とは、ディレクトリ内の「画像以外のファイルを検出してスキップする」ことを意味しました。ピクセル データが破損している場合でも、画像として扱いたいと思います。

ページ番号を割り当てて、これらの画像をペアにします。一部の画像は、単一の左ページまたは右ページです。一部の画像は幅が広く、左右のページの「見開き」です。たとえば、pagesAt(3) と pagesAt(4) は、同じ std::pair 画像または同じ幅の広い画像の std::pair を返す可能性があります。

場合によっては、奇数の「薄い」画像があり、最初の画像がワイド画像と同様に単独で表示されることがあります。例として、単一の表紙があります。

ディレクトリ内のどのファイルが画像ではないかわからないということは、それらのページ番号を自信を持って割り当てて、表示するファイルをペアにすることができないことを意味します。また、ユーザーがページ X にジャンプすることを決定した場合、後で画像以外のファイルを見つけて削除し、それに応じてページ番号を再割り当てすると、ページ X が別の画像に見える可能性があります。

オリジナル:

念のため、Qt ライブラリの c++ と QImage を使用しています。

ディレクトリを反復処理し、画像へのパスで QImage コンストラクターを使用しています。もちろん、これは非常に遅く、アプリケーションが応答しないように感じさせます。ただし、無効な画像ファイルを早期に検出して無視することはできます。

ディレクトリを通過しているときに画像へのパスのみを保存し、実際に必要なときにのみそれらをロードすることはできますが、画像が無効かどうかはわかりません。

この2つを組み合わせて考えています。つまり、ディレクトリを反復処理しながら、画像のヘッダーのみを読み取って有効性を確認し、必要に応じて画像データをロードします。

そう、

画像ヘッダーだけを読み込むと、画像全体を読み込むよりもはるかに高速になりますか? または、ヘッダーを読み取るために少し i/o を行っているということは、画像の完全な読み込みを終了することを意味しますか? 後で、アーカイブからの画像も解凍するので、これはヘッダーだけの解凍とファイル全体の解凍にも当てはまります。

また、画像ヘッダーだけをロード/読み取る方法がわかりません。画像のヘッダーだけを読めるライブラリはありますか? そうしないと、各ファイルをストリームとして開き、すべてのファイル タイプのイメージ ヘッダー リーダーを自分でコーディングする必要があります。

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

c++ - データストリームからのQImage

Qt ライブラリを使用して QImages を作成しています。

私はこのコンストラクタを使用することができます:

しかし、私はこの静的関数に問題があります:

Qt がコンソールに出力する場所:

上記は私が持っているものとまったく同じではありませんが、それが唯一の重要な違いです。(zipアーカイブ内の画像を開くため、バッファから読み取れる必要があります。)

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

image - Qt 画像形式プラグイン

Qt 画像形式プラグイン (読み取り/書き込み) でサポートされていないサイトを教えてください。たとえば、XCF と PSD。