ImageMagick无法生成.CR3照片缩略图,Libraw已安装仍异常
我使用ImageMagick处理CR3格式RAW照片时失败,提示需要安装Libraw。在GitHub提交Bug后得到反馈称Libraw未安装,但我已经尝试安装相关包,问题仍未解决。
已执行的安装操作及输出
执行命令:
sudo apt -y install libraw-bin
输出:Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libraw-bin is already the newest version (0.20.2-2ubuntu2).
The following package was automatically installed and is no longer required:
php8.1
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded执行命令:
sudo apt -y install libraw20
输出:Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libraw20 is already the newest version (0.20.2-2ubuntu2).
The following package was automatically installed and is no longer required:
php8.1
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
ImageMagick版本信息
执行convert -version输出:
Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
Copyright: (C) 1999-2021 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP(4.5)
Delegates (built-in): bzlib djvu fftw fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib
转换命令的错误信息
执行命令:convert /media/storage/admin/mike/sam-grad-2023/image.CR3 -thumbnail 200x200 image.png
错误输出:
convert-im6.q16: delegate failed
'ufraw-batch' --silent --create-id=also --out-type=png --out-depth=16 --output='%u.png' '%i'' @ error/delegate.c/InvokeDelegate/1966. convert-im6.q16: unable to open image/tmp/magick-Plw9lpdRh7_nHsISzt-dXhIHJAOm9olK.ppm': No such file or directory @ error/blob.c/OpenBlob/2924.
convert-im6.q16: no images defined `image.png' @ error/convert.c/ConvertImageCommand/3229.
解决方案
安装ufraw工具
从错误信息能看出,ImageMagick调用ufraw-batch处理RAW文件,但该工具未安装。执行以下命令安装:sudo apt install ufraw安装完成后重新尝试转换命令。
重新编译ImageMagick并启用libraw支持
你的ImageMagick内置委托列表中没有libraw,说明当前版本编译时未链接libraw库。如果ufraw无法解决问题,可重新编译:- 卸载现有ImageMagick包:
sudo apt purge imagemagick - 安装编译依赖:
sudo apt install build-essential libraw-dev libpng-dev libjpeg-dev libtiff-dev - 下载ImageMagick源码,编译时添加
--with-libraw参数:./configure --with-libraw make sudo make install - 验证安装:执行
convert -version,检查Delegates部分是否包含libraw。
- 卸载现有ImageMagick包:
用dcraw手动转换CR3文件
CR3是佳能专属RAW格式,旧版ufraw对其支持有限。可安装dcraw工具手动转换后再处理:sudo apt install dcraw执行转换命令:
dcraw -c /media/storage/admin/mike/sam-grad-2023/image.CR3 | convert - -thumbnail 200x200 image.png
内容的提问来源于stack exchange,提问作者Depict8997

