IDS uEye ドライバーから rawchar*
バッファーとして画像データを取得する画像処理アプリケーションを開発しています。この画像をユーザーに表示する必要があります。(私がQtを理解している限り、QLabel
この目的にはクラスを使用する必要があります)。char*
また、バッファを直接変更するのが最も速いと思われる画像処理アルゴリズムについても説明する必要があります。
このアプローチでかなりの数のコード サンプルを見てきました。
label.setPixmap(QPixmap::fromImage(image));
whereimage
はバッファQImage
から構築されたです。char*
ただし、uEye デモ アプリケーションのソースで次のコードを見つけました。
void PaintLabel::paintEvent(QPaintEvent *ev)
{
//...
QPainter painter(this);
painter.drawImage(rectangle, image);
painter.end();
}
wherePaintLabel
は のサブクラスであり、QLabel
をペイントする場所を示しています。rectangle
QRectF
image
時間測定を行ったところ、2 番目のアプローチは約 1.8 倍高速であることが判明しました (約 9 ミリ秒対 16 ミリ秒)。
だから、私の質問は次のとおりです。ビットマップをさらに高速に表示する他の方法はありますchar*
か?できるだけ高速に? これは 1 つの同じバッファーであることに注意してください。変化しているのはその内容だけです。そのため、フレームごとにすべてを最初から再構築する必要はありません。更新するだけです。