# Conversion .cr3 en tiff avec python

**URL:** <https://darktable.fr/t/conversion-cr3-en-tiff-avec-python/3406>\
**Category:** Trucs et Astuces\
**Created:** [Janvier 1, 2021, 3:19 UTC](https://darktable.fr/t/conversion-cr3-en-tiff-avec-python/3406 "2021-01-01T15:19:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cobert](https://darktable.fr/letter_avatar_proxy/v4/letter/c/5daacb/32.png) [@Cobert](https://darktable.fr/u/Cobert)\
**Post date:** [Janvier 1, 2021, 3:19 UTC](https://darktable.fr/t/conversion-cr3-en-tiff-avec-python/3406/1 "2021-01-01T15:19:58Z")

</div>

Pour les Canonistes qui n’ont pas peur des serpents,il existe un module Python qui permet d’utiliser la libraw pour décoder les raws et donc les .CR3  
[https://pypi.org/project/rawpy/](https://pypi.org/project/rawpy/)

Après avoir installé libraw version \>= 0,20 avec git, et les modules python qui vont bien (rawpy, imageio, numpy…)

Exemple de code python permettant la conversion des fichiers.cr3 en tiff 16bits contenu dans un répertoire.  
exiftool est utilisé pour insérer les exifs du .cr3 dans le tiff :

#!/usr/bin/env python

# -_- coding: utf-8 -_-

‹&nbsp;&nbsp;›’  
Created on 30 nov. 2020

@author: coelb  
‹&nbsp;&nbsp;›’  
import rawpy  
import imageio  
import os  
import subprocess

folder = ‹&nbsp;/home/coelb/TestCr3&nbsp;›  
#print(rawpy.libraw\_version)

for root, dirs, files in os.walk(folder):  
for file in files:  
fileName, fileExtension = os.path.splitext(file)  
if fileExtension == ‹&nbsp;.CR3&nbsp;›:  
sourcename = root +‹&nbsp;/&nbsp;›+ file  
with rawpy.imread(sourcename) as raw:  
rgb = raw.postprocess(output\_color=rawpy.ColorSpace.Adobe,output\_bps=16)  
targetname = os.path.dirname(sourcename)+‹&nbsp;/&nbsp;› + fileName +‹&nbsp;.tiff&nbsp;›  
print(sourcename +’ ----\> ’ +targetname)  
imageio.imsave(targetname, rgb)  
print(‹&nbsp;Insert Exif&nbsp;›)  
subprocess.call([«&nbsp;exiftool&nbsp;», «&nbsp;-tagsfromfile&nbsp;»,sourcename,«&nbsp;-exif:all&nbsp;»,targetname])  
os.remove(targetname+«&nbsp;\_original&nbsp;»)  
#end if  
#end for  
#end for

Bon, c’est assez lent, les tiff 16b sont gourmand en place (d’autres formats son peut-être à essayer)  
Juste une alternative, peut être pour les linuxiens qui voudraient rester «&nbsp;open source&nbsp;» sans une conversion au format DNG Adobe. 😛

Bonne année, vive darktable!
