問題タブ [qdatastream]

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

qt - ベクトルの保存と読み込みQt & OpenCV

更新をサポートしていない FisherFaces 認識エンジンを使用して、Qt と openCV で顔認識に取り組んでいるため、顔データベースを保存して、変更後に認識エンジンを再トレーニングする必要があります。
保存するための私のコードは次のとおりです。

これはロード用です:

問題は、ファイルから読み返したものが保存したものではないことです
保存した ロードされた

では、このコードの何が間違っているのでしょうか (すべてではないことを願っています)。
ベクトルを保存するより良い/簡単な方法はありますか?
編集: Marek_R
の おかげで、変換部分は修正されましたが、QDataStream を使用した保存と読み込みが問題になりまし た。これらの行の原因は何ですか? 編集: 私はこれを試しました: QDataStream部分を公開し、要素 化しました: QimgVect->MatVectよりもMatVect->QimgVectを作成し、正常に動作しましたが、QDataStreamを追加した後: MatVect->QimgVect->QDataStreamおよびQDataStream->QimgVect->MatVect i上記の結果を取得します (縦の白い線)。 から画像を変換する編集
保存した ロードされた



QimgVect

qdatastream から読み取った後にRGB32からIndexed8にすると、次の結果が得られます。
ここに画像の説明を入力

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

qt - QByteArray/QDataStream としてサーバーからクライアントにデータを送信する方法

Qt の fortuneserver サンプルでは、​​メソッドによって QString が送信されsendFortune()ます。したがって、 QStringList から 1 つの QString が選択されますfortunes

ファイル、画像、複数の文字列など、別の種類のデータを送信することはできますか? それとも、単一の文字列を送信することは可能ですか?

(quint16)2 番目の質問: データを QByteArry として送信する利点は何ですか? QDataStream を設定して定義する必要があるのはなぜですか?

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

python - PySide と Python 3.X で QDataStream にバイトを書き込む方法は?

それのQtのドキュメントでQDataStream

QDataStream クラスは、QIODevice へのバイナリ データのシリアル化を提供します。

それが私がやりたいことです。Python 3.X の PySide でバイトをQDataStream.

writeRawDataただし、入力として期待unicodeします。

を与えるTypeError

さらにwriteBytesfromQDataStreamは PySide (1.2.2) では実装されていません。

QDataStreamでは、 PySide と Python 3.X でバイナリ データを送信するにはどうすればよいでしょうか。


背景: 最終的に、バイナリ データを をQSocket介して便利に送信し、QDataStreamを使用する前に圧縮したいと考えていzlibます。

0 投票する
0 に答える
1257 参照

c++ - ビッグ エンディアンでの QDataStream とバイト オーダー

ネットワーク経由で画像を送信するプログラムがあります。(クラスを使用して) 手動でピクセルを作成QRgbし、それらを に挿入しますQDataStreamquint16ピクセルあたり 16 ビットまたは 32 ビット (またはを挿入できます) の場合は非常に簡単ですquint32が、RGB888 (ピクセルあたり 24 ビット) では 3 つのquint8変数を使用する必要があります。しかし、次の場合のバイトの順序はわかりませんQDataStream

このストリームを後で正しく読み取るには、その順序で挿入する必要がありますか?

EDIT:BigEndian使用する場合は設定が問題にならないことはわかっていますがquint8、Qtがバイトを再ソートする場合のように、そのような順序で色を配置したい(quint32setByteOrder)。

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

c++ - QByteArray の読み取りと QDataSteam への書き込み

QByteArrayを送信する際に問題が発生しましたQDataStream。シリアル化されたメッセージを格納してソケット経由で送信するためのクラスを作成しました。クラスは次のようになります。

QDataStream & operator>>オペレーターをテストするために、 QDataStream &operator<<testunit を作成しました。

このテストを適切に実行するには、TextMessageクラスが必要です

私の問題はvoid Serialization_test::serializedMessageFromArray()、テストを実行するとハングアップするか、メッセージが表示されて失敗することです

さらに、読み取り演算子と書き込み演算子をデバッグすると、 で読み取らout.writeRawData(message.m_dataArray.data(), message.m_dataArray.length());れるのと同じ量のデータを書き込むことがわかりますin.readRawData(dataArray.data(), dataLength);。何が起こっているのかよくわかりません。どんな助けにも感謝します

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

c++ - メンバー間の QDataStream の割り当て

init() が呼び出されると、ファイルが開かれ、データが開始する場所にナビゲートされる必要があるという考え方になりました。これで、getData() が呼び出されるたびに、バイトのチャンクがファイルから読み取られる必要があります。

擬似コードは次のようになります。

readininitがローカルで宣言されているため、これが発生する理由を理解しています。getDataしかし、中断したところから再開できるように、データ ストリームをどのように割り当てればよいinitでしょうか。そして、次getDataは前の中断したところから再開できます。呼び出しシーケンスは次のようになります。

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

c++ - QImage を QBuffer に保存する

私はこのようなことをしています:

オプション1:

オプション 2:

オプション 1 はかなり遅く、オプション 2 が正しい方法かどうかわかりません。