Ich versuche OpenCV Beispielcode Reading Geospatial Raster files with GDAL Lese Geospatial Rasterdateien mit GDAL und OpenCV3.1.0
Für DEM-Modell zu implementieren und ausführen, herunterladen i N37W123.hgt.zip
vom SRTM file located at the USGS, (die im Abschnitt dieser Seite Ergebnisse sind).
aber DAS Modell nicht zu cv::Mat dem
von cv::Mat dem = cv::imread(argv[2], cv::IMREAD_LOAD_GDAL | cv::IMREAD_ANYDEPTH);
geladen und ich bekomme Zeitfehler lief throw std::runtime_error("DEM image type must be CV_16SC1");
1) Warum ist das passiert?
2) Alle DEM-Datentypen sind 16 vorzeichenbehaftete Ganzzahlen. Ist es o.k?
3) Wie kann der DEM-Modellblock mit GDALDataset::RasterIO
oder GDALRasterBand::ReadBlock
direkt gelesen werden?
@ Benjamin 'ReadAsArray' ist für Python. In C++ können wir 'RasterIO' oder' ReadBlock' Funktionen verwenden. Der DEM-Datentyp ist 'CV_16S' oder' CV_32F'. –
Sie sollten Ihre Frage dann mit C++ markieren. Unabhängig von der Sprache ist mein Punkt, dass GDAL keine ZIP-Dateien liest (mit ein paar Ausnahmen), und dass Sie OpenCV nicht benötigen, um eine Datei mit GDAL zu laden. Es wäre einfacher, das Problem zu beheben, wenn Sie einen Layer (OpenCV) entfernt und zuerst den einfacheren Ansatz versucht haben. http://www.gdal.org/gdal_tutorial.html – Benjamin
@ Benjamin Ich weiß, dass GDAL Zip-Datei nicht laden konnte. Ich lade ein TIFF Bild mit GDAL und speichere es auf OpenCV Mat. aber für DEM-Dateien wie .hgt oder .TIFF konnte ich 'IMREAD_LOAD_GDAL' und' cv :: IMREAD_ANYDEPTH' nicht verwenden, die sich in 'OpenCV3.1.0' befinden –