ECW을 앞선 포스팅으로 해결하실수 있으시다면 그거슨 축복입니다..
아래의 코드를 실행했을때 None이 나오지 않아야 ECW를 다룰수있는데요
from osgeo import gdal
print(gdal.__version__)
print(gdal.GetDriverByName('ECW'))
저는 약 10일간의 고군분투를 하고있으나 여전히 None을 return 하고있는 상황입니다..
# Install ECW SDK
sudo unzip erdas-ecw-sdk-5.4.0-linux.zip
sudo chmod +x ERDAS_ECWJP2_SDK-5.4.0.bin
./ERDAS_ECWJP2_SDK-5.4.0.bin
sudo cp -r ~/hexagon/ERDAS-ECW_JPEG_2000_SDK-5.4.0/Desktop_Read-Only /usr/local/hexagon
# Install PROJ
wget https://github.com/OSGeo/PROJ/releases/download/8.2.1/proj-8.2.1.tar.gz
tar xzf proj-8.2.1.tar.gz
cd proj-8.2.1
mkdir build && cd build
cmake ..
make
sudo make install
# Build GDAL with ECW support
wget https://github.com/OSGeo/gdal/releases/download/v3.4.1/gdal-3.4.1.tar.gz
tar xzf gdal-3.4.1.tar.gz
cd gdal-3.4.1
./configure --with-ecw=/usr/local/hexagon
make
sudo make install
이렇게 해서 해결 되신것 또한 축복입니다.
저는 gdal-x부분의
./configure ~~~
부분에서 뭔가 문제가 있는것 같은데
make를 하면서 나오는 각종 오류를 해결하는 중입니다.
가장 주요하게 느낀부분은. gdal-x/port/cpl_config.h 파일을 수정한 것입니다.
수정전
/* Define to name of 64bit fseek func */
#define VSI_FSEEK64 fseek64
/* Define to name of 64bit ftell func */
#define VSI_FTELL64 ftell64
수정후
/* Define to name of 64bit fseek func */
#define VSI_FSEEK64 fseeko64
/* Define to name of 64bit ftell func */
#define VSI_FTELL64 ftello64
이 부분입니다. 이유는 잘 모르겠습니다.
어떤 파일에 는 #include~~~를 추가했던것 같고 어떤 부분은 std::를 날렸던것 같은데 기록을 안해둬서 모르겠네요..
일단 계속 해보겠습니다 ecw가 될때까지..
추가. 안할겁니다. 농담이고 윈도우 pc를 가진 동료에게 부탁했더니 한방에 됐습니다.
'On Going > Computer Vision' 카테고리의 다른 글
[SAM2] Custom 학습 - SAM2 transfer learning with custom datasets, .ipynb (0) | 2024.09.09 |
---|---|
[SAM2] segment anything 2 (0) | 2024.08.08 |
[ECW] ECW file 포맷을 다루고 싶어! (0) | 2024.08.06 |
History of Super Resolution AI (0) | 2024.07.17 |
위성영상에 대한 이해 (1) | 2024.07.05 |
댓글