Python实现raw文件批量转tif/png/jpg

小王说

用PS一个一个转格式太麻烦了,所以写了一个python批处理小工具,可以将raw文件批量转为tif/png/jpg等格式。

以下代码用于转为tif格式,要转为png/jpg等修改注释提示的部分即可,具体的参数设置可以参考OpenCV官方文档这篇文章

代码

"""
用于批量处理某一文件夹下的图像文件,由raw格式转为tif/png/jpg
"""

import os
import cv2
import numpy as np

# 在这里修改存放raw文件的文件夹路径
path = 'E:/'
files = os.listdir(path)

# 首先确定原始图片的基本信息:数据格式,行数列数,通道数
rows = 512  # 图像的行数
cols = 640  # 图像的列数
channels = 1  # 图像的通道数,灰度图为1

print('--批量转换开始--')

for file in files:

    # 将文件名和后缀分成两部分
    portion = os.path.splitext(file)
    # 只处理.raw文件
    if portion[1] == '.raw':
        realPath = path + file
        # 利用numpy的fromfile函数读取raw文件,并指定数据格式
        img = np.fromfile(realPath, dtype='uint16')	# 这里注意自己图像的位深度
        # 利用numpy中array的reshape函数将读取到的数据进行重新排列。
        img = img.reshape(rows, cols, channels)

        # 将图像保存为tif格式
        fileName = portion[0] + '.tif'
        tif_fileName = os.path.join(path, fileName)
        cv2.imwrite(tif_fileName, img , (int(cv2.IMWRITE_TIFF_COMPRESSION), 1))	# 1为tif无损压缩;修改这里的参数可以转为其他格式,具体参考上面两篇文章
        print(file + ' 转换完成')
    else:
        print(file + ' 不是.raw文件')
        
print('--批量转换结束--')
  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值