admin管理员组文章数量:1516870
目录
===============
前言
佳能相机的图片格式CR3,Windows识别,微信上根本无法识别。。。
而且图片刚打开颜色亮度正常,隔几秒后图片便会变暗。
解决
把图片转换为JPG格式,在转换的同时,设置亮度
前提准备
需要安装Pyhon(网上相关资料一大堆)
安装需要的库
pip install rawpy
pip install imageio
直接pip 无效时,使用完整路径运行pip命令
python -m pip install rawpy启动脚本
@echo off
rem pause
echo waiting...
"C:\Program Files\Python38\python.exe" ./convert.py
pause
核心代码(Python)(convert.py)
测试可用
use_auto_wb=False, #
不
使用自动白平衡
no_auto_bright=True, #
不
允许自动亮度调整
上面的设置后,和图片刚刚打开变暗前的效果一致
bright=3.5, # 增加亮度 (默认 0.25)
上面这行代码很重要,不写的话,转换后的代码会偏暗
import rawpy
import numpy as np
from PIL import Image
import os
def convert_cr3_to_jpg(cr3_path, jpg_path, quality=100):
"""使用 rawpy + Pillow 转换 CR3 到 JPG"""
try:
# 确保输出目录存在
os.makedirs(os.path.dirname(jpg_path), exist_ok=True)
print(f"开始处理: {cr3_path}")
# 读取 RAW 文件
with rawpy.imread(cr3_path) as raw:
print("RAW 文件已读取")
# 获取图像数据(使用简化参数)
rgb = raw.postprocess(
output_color=rawpy.ColorSpace.sRGB,
use_auto_wb=False, # 不 使用自动白平衡
no_auto_bright=True, # 不 允许自动亮度调整
bright=3.5, # 增加亮度 (默认 0.25)
gamma=(2.2, 4.0) # 标准 gamma 校正
)
print("图像处理完成")
# 确保数据类型正确
if rgb.dtype != np.uint8:
# 转换为 8 位整数 (0-255)
rgb = (rgb * 255 / rgb.max()).astype(np.uint8)
# 创建 Pillow 图像并保存为 JPG
img = Image.fromarray(rgb)
img.save(jpg_path, 'JPEG', quality=quality)
print(f"成功保存: {jpg_path}")
return True
except Exception as e:
print(f"转换失败: {str(e)}")
# 提供详细错误信息
import traceback
traceback.print_exc()
return False
# 使用示例
success = convert_cr3_to_jpg(
r'C:\test\python\CR3_convert\IMG_1047.CR3',
r'C:\test\python\CR3_convert\output.jpg',
quality=90
)
if success:
print("转换成功!")
else:
print("转换失败")------运行效果
------
Python 模块介绍
rawpy:用于读取和处理 RAW 图像文件numpy:处理图像数据的数值计算PIL.Image:将处理后的图像保存为 JPG 格式os:处理文件路径和目录创建
---
版权声明:本文标题:CR3转JPG?教你一招让照片更亮更出色! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/web/1771751864a3269066.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论