I am trying to run the following code:
from osgeo import gdal
import sys
# this allows GDAL to throw Python Exceptions
src_ds = gdal.Open( "fused.tif" )
src_ds.show()
But I receive the following error:
Traceback (most recent call last):
File ".../gdalopen1.py", line 5, in module src_ds.show()
AttributeError: 'Dataset' object has no attribute 'show'
Why does this happen?
You have already opened the dataset, as Spacedman answered. GDAL is not a visualization library (at its core).
You can read the data with:
data = src_ds.ReadAsArray()
And then pass it on the your favourite plotting library.
Alternatively you could simply output to a more common 'picture' format (PNG for example), and use any viewer you like to display the result.
vmin = 0 # minimum value in your data (will be black in the output)
vmax = 1 # minimum value in your data (will be white in the output)
ds = gdal.Translate('fused.png', 'fused.tif', format='PNG', outputType=gdal.GDT_Byte, scaleParams=[[vmin,vmax]])
ds = None
The scaling is necessary to convert your data values to the 8-bit range (0-255) which commonly used for pictures.