問題タブ [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.
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にすると、次の結果が得られます。
qt - QByteArray/QDataStream としてサーバーからクライアントにデータを送信する方法
Qt の fortuneserver サンプルでは、メソッドによって QString が送信されsendFortune()
ます。したがって、 QStringList から 1 つの QString が選択されますfortunes
。
ファイル、画像、複数の文字列など、別の種類のデータを送信することはできますか? それとも、単一の文字列を送信することは可能ですか?
(quint16)
2 番目の質問: データを QByteArry として送信する利点は何ですか? QDataStream を設定して定義する必要があるのはなぜですか?
python - PySide と Python 3.X で QDataStream にバイトを書き込む方法は?
それのQtのドキュメントでQDataStream
は
QDataStream クラスは、QIODevice へのバイナリ データのシリアル化を提供します。
それが私がやりたいことです。Python 3.X の PySide でバイトをQDataStream
.
writeRawData
ただし、入力として期待unicode
します。
を与えるTypeError
:
さらにwriteBytes
fromQDataStream
は PySide (1.2.2) では実装されていません。
QDataStream
では、 PySide と Python 3.X でバイナリ データを送信するにはどうすればよいでしょうか。
背景: 最終的に、バイナリ データを をQSocket
介して便利に送信し、QDataStream
を使用する前に圧縮したいと考えていzlib
ます。
c++ - ビッグ エンディアンでの QDataStream とバイト オーダー
ネットワーク経由で画像を送信するプログラムがあります。(クラスを使用して) 手動でピクセルを作成QRgb
し、それらを に挿入しますQDataStream
。quint16
ピクセルあたり 16 ビットまたは 32 ビット (またはを挿入できます) の場合は非常に簡単ですquint32
が、RGB888 (ピクセルあたり 24 ビット) では 3 つのquint8
変数を使用する必要があります。しかし、次の場合のバイトの順序はわかりませんQDataStream
。
このストリームを後で正しく読み取るには、その順序で挿入する必要がありますか?
EDIT:BigEndian
使用する場合は設定が問題にならないことはわかっていますがquint8
、Qtがバイトを再ソートする場合のように、そのような順序で色を配置したい(quint32
とsetByteOrder
)。
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);
。何が起こっているのかよくわかりません。どんな助けにも感謝します
c++ - メンバー間の QDataStream の割り当て
init() が呼び出されると、ファイルが開かれ、データが開始する場所にナビゲートされる必要があるという考え方になりました。これで、getData() が呼び出されるたびに、バイトのチャンクがファイルから読み取られる必要があります。
擬似コードは次のようになります。
と
read
ininit
がローカルで宣言されているため、これが発生する理由を理解しています。getData
しかし、中断したところから再開できるように、データ ストリームをどのように割り当てればよいinit
でしょうか。そして、次getData
は前の中断したところから再開できます。呼び出しシーケンスは次のようになります。
c++ - QImage を QBuffer に保存する
私はこのようなことをしています:
オプション1:
オプション 2:
オプション 1 はかなり遅く、オプション 2 が正しい方法かどうかわかりません。