python的原始图像处理,libraw的包装器
rawp的Python项目详细描述
rawpy是用于LibRaw库的易于使用的python包装器。 它还包含一些查找和修复热/死像素的额外功能。
示例代码
加载原始文件并使用默认参数保存后处理图像:
importrawpyimportimageiopath='image.nef'withrawpy.imread(path)asraw:rgb=raw.postprocess()imageio.imsave('default.tiff',rgb)
另存为16位线性图像:
withrawpy.imread(path)asraw:rgb=raw.postprocess(gamma=(1,1),no_auto_bright=True,output_bps=16)imageio.imsave('linear.tiff',rgb)
使用多个原始文件查找错误像素并修复它们:
importrawpy.enhancepaths=['image1.nef','image2.nef','image3.nef']bad_pixels=rawpy.enhance.find_bad_pixels(paths)forpathinpaths:withrawpy.imread(path)asraw:rawpy.enhance.repair_bad_pixels(raw,bad_pixels,method='median')rgb=raw.postprocess()imageio.imsave(path+'.tiff',rgb)
安装
python 2.7、3.4、3.5和3.6提供了用于linux、macos和windows的二进制控制盘。 这些可以用简单的pip install rawpy安装。 目前,Linux和MacOS控制盘仅提供64位版本。
在Linux/MacOS上从源代码安装
如果您需要使用特定的libraw版本,或者您不能使用提供的二进制轮子 然后按照本节中的步骤从源代码构建rawpy。
首先,在系统上安装LibRaw库。
在ubuntu上,您可以使用以下命令获得(过时的)版本:
sudo apt-get install libraw-dev
或者从源存储库安装最新版本:
git clone https://github.com/LibRaw/LibRaw.git libraw git clone https://github.com/LibRaw/LibRaw-cmake.git libraw-cmake cd libraw git checkout 0.19.0 cp -R ../libraw-cmake/* . cmake . sudo make install
之后,使用pip install rawpy --no-binary rawpy安装rawpy。
如果出现错误“importorror:libraw.so:无法打开共享对象文件:没有这样的文件或目录” 尝试使用rawpy时,请执行以下操作:
echo"/usr/local/lib"| sudo tee /etc/ld.so.conf.d/99local.conf sudo ldconfig
libraw库安装在/usr/local/lib中(如果手动安装),显然没有搜索此文件夹 对于某些Linux发行版中的库,默认情况下为。
numpy依赖性
拉比依赖于努比。支持的最低numpy版本取决于您的python版本:
Python | NumPy |
2.7 | >= 1.7 |
3.4 | >= 1.8 |
3.5 | >= 1.9 |
3.6 | >= 1.11 |
3.7 | >= 1.14 |