¿Cómo abrir un archivo de imagen TIF (CMYK, 16 bits)?

Tengo un script que procesa docenas de archivos de imagen (usando Pillow). Recientemente, noté que mi script falla con el formato TIF (CMYK / 16). Entonces he creado unacaso de prueb.

images = [
    "cmyk-8.tif",
    "cmyk-16.tif",
    "rgb-8.tif",
    "rgb-16.tif",
]

for img_name in images:
    path = img_dir + "\\" + img_name
    try:
        img = Image.open(path)
    except OSError as e:
        print(e)
    else:
        print("success: " + img_name)

Esto produce el siguiente resultado:

success: cmyk-8.tif
cannot identify image file '...\\cmyk-16.tif'
success: rgb-8.tif
success: rgb-16.tif

Así que el problema es definitivamente con el formato TIF (CMYK / 16).

¿Cómo puedo abrir este formato específico o convertirlo a un formato que se pueda abrir (?) (RGB / 8, RGB / 16, CMYK / 8) primero y luego abrirlo?

En otro QA, Se sugirió GDAL para resolver el problema. Helo intent (instale GDAL, asócielo con Python y haga que funcione con el script actual), pero finalmente se dio por vencido (demasiado problemático). Así que he decidido centrarme en gdal_translate.

He instalado"gdal-203-1911-x64-core.msi" desde GISInternals e intenté hacer la conversión:

"C:\Program Files\GDAL\gdal_translate.exe" -scale -ot byte -of JPEG "C:\Users\%username%\Documents\GitHub\dump\python\tif-cmyk-16\images\cmyk-16.tif" "cmyk-16.jpg"

pero no funcionó. Obtuve una conversión incorrecta:

No estoy familiarizado con GDAL, así que debo estar haciendo algo mal. ¿Cómo consigo que la conversión sea correcta?

Además, esta es la salida de cmd:

ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSpatial.dll
126: The specified module could not be found.

ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSpatial.dll
126: The specified module could not be found.

Input file size is 200, 200
0...10...20...30...40...50...60...70...80...90...100 - done.
Press any key to continue . . .

Parece que falta algo, y no sé si la conversión inccorect está relacionada con esto.

Se pueden encontrar scripts y archivos de salida relacionadosaqu.

Respuestas a la pregunta(1)

Su respuesta a la pregunta