使用GDAL读取图像时报错:‘xxxx.JPG’ not recognized as being in a supported file format.
报错原因
若你的程序中在调用GDALOpen之前没有调用GDALRegisterAll()
,先去把这句加上再说。如果继续报错,则表示当前你使用的gdal库不支持读取JPG图像格式。大概率是在编译GDAL时未添加对JPEG格式的支持。
解决方法
重新编译GDAL,开启其对jpeg格式的支持。利用vcpkg
可以方便的控制GDAL的编译:
vcpkg install gdal[core,jpeg,openjpeg]:x64-windows
等待编译完成,再在重新编译用户的代码,即可成功读取JPG图像。
注意:GDAL目前只支持jpg图像的读取,不支持创建(Create函数)和更新。
尽管GDAL不支持使用Create函数按指定的行、列、波段、像素数据类型创建jpg,但是如果只是想将现有的图像转换格式到jpg,可以使用CreateCopy函数将其转换为相同属性的jpg图像。