diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f137ecb1..2951599a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,3 +130,6 @@ else() message("--- not building dso_dataset, since either don't have openCV or Pangolin.") endif() +add_executable(dso_converter ${PROJECT_SOURCE_DIR}/src/util/DatasetUndistorter.cpp) +target_link_libraries(dso_converter dso boost_system cxsparse ${BOOST_THREAD_LIBRARY} ${LIBZIP_LIBRARY} ${OpenCV_LIBS}) + diff --git a/src/util/DatasetUndistorter.cpp b/src/util/DatasetUndistorter.cpp new file mode 100644 index 000000000..5a971b280 --- /dev/null +++ b/src/util/DatasetUndistorter.cpp @@ -0,0 +1,19 @@ +#include "IOWrapper/ImageRW.h" +#include "util/DatasetReader.h" + +#include + +using namespace dso; + +int main(int argc, char *argv[]) { + ImageFolderReader reader(argv[1], argv[2], argv[3], argv[4]); + for (int i = 0; i < reader.getNumImages(); ++i) { + ImageAndExposure* output = reader.getImage(i); + MinimalImage outImage(output->w, output->h, output->image); + char fname[256]; + sprintf(fname, "%06d.png", i); + IOWrap::writeImage(fname, &outImage); + } + + return 0; +}