1
MatからQImageに変換する簡単な方法があるのだろうかと思います。私は、変換のための以下のクラスがあります。cv :: MatからQImageに変換する速い方法
VideoReader::VideoReader() {
cap = VideoCapture(CV_CAP_ANY);
}
QImage VideoReader::getFrame() {
if (waitKey(30) >= 0)
return;
Mat frame;
cap >> frame;
QImage dest = QImage((uchar*)frame.data, frame.cols, frame.rows, frame.step, QImage::Format_RGB888);
return dest;
}
このコードは動作しますが、しかし、getframeの()メソッドが完了するまでに約20ミリ秒かかります。少なくとも2倍の速さで作業する必要があります。これを最適化する方法はありますか、より速く動作する代替変換方法はありますか?
ありがとうございます!
'if(waitKey(30)> = 0)return;'約30msかかります。 – Micka
ありがとう、まだ15ミリ秒程度かかりますが、カメラの待ち時間が必要です。 – bearcp
'waitKey(1)'は典型的なWindowsシステムafaikで約5-10msを消費します。カメラは通常、画像が準備されていない場合にはキャプチャ呼び出しをブロックするので、カメラが例えば30fpsの場合、 'cap >> frame'を呼び出すには約33msかかります(2回の呼び出しの間に何も時間がない場合) 。 – Micka