librealsense: problems in rs_convert
Required Info | |
---|---|
Camera Model | D400 |
Firmware Version | 05.09.09.02 |
Operating System & Version | MacOS |
Kernel Version (Linux Only) | |
Platform | Mac |
SDK Version | 2.11.0 |
Language | {C++ } |
I tested the recently released version of the rs_convert tool. However I found the following problems:
-
Even with small bag files (~150MB), it drops frames. I was unable to extract all frames from a bag with 427 color and 430 depth frames. The number of frames dropped varies in each execution instance.
-
Sometimes it crashes before completion. I suspect it is also because of timing issues. When debugging, it points to the following line:
void Writer::initializeLogger(const std::string& loggerId, bool lookup, bool needLock) {
if (lookup) {
m_logger = ELPP->registeredLoggers()->get(loggerId, ELPP->hasFlag(LoggingFlag::CreateLoggerAutomatically));
}
- It does not seem to have a smooth execution. Sometimes it gets stuck at a certain completion percentage and then it gets a burst of speed.
I was hoping to use the tool as a base for non-realtime processing of rosbags frame-by-frame. However, every time I tried with playback.resume() and playback.pause() even before the rs_convert tool was released I ran in issues 1 or 2. Are there any suggestions for my use-case?
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 16 (9 by maintainers)
If you need something temporarily, you can use this python script, it requires opencv and realsense python bindings. You could probably get past opencv by using another image library like Pillow (PIL).
@baptiste-mnh @TheMikeyR @marcovs - I think ROS-bag reading issues are behind us, with v2.16.1 release.
There you go, it’s ugly and uses a fat global variable but it works. The function to call is extractImagesFromBagFile. You will need opencv. Let me know how you get on. It also outputs timestamps, feel free to remove it if you don’t need it