Страница 1 из 2

GDAL и VS2010/C++

Добавлено: 27 мар 2011, 09:00
HunteX
Всем привет! Для работы с большими растровыми изображениями мне посоветовали библиотеку GDAL.

Использую Visual Studio 2010, пишу на C++ ... Скачал исходники gdal-1.8.0, запустил makegdal10.sln, скомпилировал в DEBUG. А дальше что делать не знаю :( У кого-нибудь есть руководство для создания шаблона проекта GDAL на Visual Studio 2010? На сайте есть руководства, но они для старых версий VS. Для начала мне хотя бы простенький хеллоу-ворд :)

p.s. а вообще задача у меня следующая -> получить буффер данных из указанной части изображения. GDAL это умеет?

Спасибо!

Re: GDAL и VS2010/C++

Добавлено: 27 мар 2011, 10:31
Voltron
Читали?. Вот еще GDALDataset C++ API, GDALRasterBand C++ API.

Вполне актуальные документы.

Re: GDAL и VS2010/C++

Добавлено: 27 мар 2011, 19:02
HunteX
Всё, проблему решил ... хотелось бы еще узнать вот что:
Есть матрица преобразования гомографии (9 параметров). Может ли GDAL трансформировать моё изображение в соответствии с этими параметрами? Если можно, то направьте, куда копать, какую функцию(и) использовать?

Спасибо!

Re: GDAL и VS2010/C++

Добавлено: 27 мар 2011, 19:25
Voltron
Неужели в OpenCV нет ничего для этого?
По сабжу, посмотрите на GDAL Warp, он не совсем для этого, но может что-то получится

Re: GDAL и VS2010/C++

Добавлено: 28 мар 2011, 06:32
HunteX
Voltron писал(а):Неужели в OpenCV нет ничего для этого?
По сабжу, посмотрите на GDAL Warp, он не совсем для этого, но может что-то получится
В OpenCV имеется функция cvWarpPerspective(). Проблема в том, что данная функция не может работать с изображениями большого размера (~ свыше 300-500MB)

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 08:30
LEXX413
А по GDAL 1.9 может кто подсказать еще... Запустил проект из файла gdal-1.9.0, он сгенерировал библиотеку gdal19.dll, дальше не пойму что делать надо, как GDAL подключить к VC++ 2010.

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 09:45
Дмитрий Барышников
не пойму что делать надо, как GDAL подключить к VC++ 2010
Также как и любую другую библиотеку

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 09:52
LEXX413
Я прописываю пути до dll в каталогах библиотек, приписываю пути до папки bin и plugin в каталогах исполняемых файлов и каталогах включений, при компиляции не видит заголовочных файлов, которые нужны для проги, хочу написать пример как у них на сайте

Код: Выделить всё

#include "gdal_priv.h"

int main()
{
    GDALDataset  *poDataset;

    GDALAllRegister();

    poDataset = (GDALDataset *) GDALOpen( pszFilename, GA_ReadOnly );
    if( poDataset == NULL )
    {
        ...;
    }
Пробовал сам собирать как написал выше и получал dll, пробовал SDK версию, там как я понял надо установить GDAL и распаковать архив, до папок в архиве указываю пути и нифига... Ругается, что не видит gdal_priv.h

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 09:56
LEXX413
Я с подключаемыми библиотеками особо дел не имел... Только OpenCV подключал, и то 2 дня ушло, 5 инструкций перепробовал, с 1 только получилось. Чего-то я не понимаю в подключении библиотек, основ...

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 10:19
Дмитрий Барышников
Текст ошибки приведите.
И пути которые вы прописывали к заголовочным файлам.

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 10:38
LEXX413
Ошибка 1 error C1083: Не удается открыть файл включение: gdal_priv.h: No such file or directory C:\Documents and Settings\Kim\Рабочий стол\на С++\GDAL1\test\test\test.cpp 4 1 test

т.к. толком не пойму что именно надо подключать, подключил везде то, что было написано в установке SDK тут http://vbkto.dyndns.org:1280/sdk/Packag ... -6-0-1.zip

каталоги исполняемых файлов:
C:\gdal-1.9.0mapserver\bin
C:\gdal-1.9.0mapserver\bin\gdal
C:\gdal-1.9.0mapserver\bin\gdal\plugins
каталоги включения
C:\gdal-1.9.0mapserver\bin
C:\gdal-1.9.0mapserver\bin\gdal
C:\gdal-1.9.0mapserver\bin\gdal\plugins
каталоги библиотек
C:\gdal-1.9.0mapserver\bin
C:\gdal-1.9.0mapserver\bin\gdal19.dll

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 11:44
Дмитрий Барышников
Вы скачали не то. Это откомпилированные версии библиотек непригодные для разработки.
Вам нужны:
либо исходники (http://trac.osgeo.org/gdal/wiki/DownloadSource) и нужно их откомпилировать (http://trac.osgeo.org/gdal/wiki/BuildHints)
либо скомпилированная библиотека с подключаемыми файлами lib (можно попробовать поставить из OSGeo4W).

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 11:56
LEXX413
Так, хорошо. я качал неоткомпилированную версию. компилировал ее из под вижуал студии, так же пробовал компилировать как написано тут http://trac.osgeo.org/gdal/wiki/BuildingOnWindows в Building From Source. Получил библиотеки опять таки. После этого я так же как написал выше подключал библиотеку dll и еще lib и пути до папки apps и data, но все-равно не работало. Можете сказать что именно нужно подключать в путях и куда в каталоги исполняемых или каталоги включения, каталоги библиотек нужно указывать вплоть до файла как тут C:\gdal-1.9.0mapserver\bin\gdal19.dll ? Ошибка та же была.

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 12:46
Дмитрий Барышников
Пропишите этот путь к хэдэрам (каталоги включения) и ошибка уйдет
путь до корня папки GDAL/gcore

Вообще-то можно было догадаться тупо поискать где лежит файл gdal_priv.h и прописать к нему путь.
Расширение *.h означает header, что в переводе с английского значит заголовок (заголовочный файл).

Re: GDAL и VS2010/C++

Добавлено: 19 мар 2012, 12:50
LEXX413
тут есть проблема. я это делал. прописывал путь этот. компилятор после этого просит путь к другому файлу, когда указываю к другому, при компилировании выдает кучу ошибок, которые вообще как бы... не понятно почему и к чему.