Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从.NEF文件中获取原始像素数据?_Python_Image_Camera_Python Imaging Library_Photo - Fatal编程技术网

如何使用python从.NEF文件中获取原始像素数据?

如何使用python从.NEF文件中获取原始像素数据?,python,image,camera,python-imaging-library,photo,Python,Image,Camera,Python Imaging Library,Photo,我正在用python编写一些脚本来处理原始相机数据。目前,我正在使用DCRAW将.nef(尼康原始格式)文件中的信息转换为.tiff文件,然后在photoshop中将其转换为sRGB.png,这样我就可以使用Pillow读取像素强度 有没有一种方法可以在python中解析.nef文件本身,而不是跳过这么多的障碍 我不关心速度,这主要是一个学习和演示练习 您可以使用另一个库和枕头来完成此任务。例如,rawpy可以为您完成这项工作 下面链接中的示例展示了如何读取.nef文件,并使用postproce

我正在用python编写一些脚本来处理原始相机数据。目前,我正在使用DCRAW将.nef(尼康原始格式)文件中的信息转换为.tiff文件,然后在photoshop中将其转换为sRGB.png,这样我就可以使用Pillow读取像素强度

有没有一种方法可以在python中解析.nef文件本身,而不是跳过这么多的障碍


我不关心速度,这主要是一个学习和演示练习

您可以使用另一个库和枕头来完成此任务。例如,
rawpy
可以为您完成这项工作

下面链接中的示例展示了如何读取
.nef
文件,并使用
postprocess()
方法将其转换为
numpy数组。

从那里,您可以轻松地将图像保存为TIFF或执行类似操作

from PIL import Image
new_img = Image.fromarray(numpy_array)
编辑: 我使用rawpy和pillow编写了一个小脚本,它获取一个.nef图像,将其转换为一个numpy数组,从中创建一个新的枕头图像,并将其显示在屏幕上(显然,您可以读取强度而不是显示在屏幕上)


两个优秀的库:rawpy和imageio。此外,您可以将python-gphoto2或gphoto2 cffi用于采集和处理管道。是否有人可以为此在windows上为python 3.5编译二进制文件?我没有vs 2015自己做这件事,我找不到一个二进制文件…当我尝试这个,我的输出图像看起来是错误的;我想可能是颜色通道被重新排序了,或者是因为我的图像有一个非常明显的红移。有人有什么解决方案吗?解决了:rgb=raw.postprocess(rawpy.Params(使用\u camera\u wb=True))
import rawpy
from PIL import Image
raw = rawpy.imread('trial.nef')
rgb = raw.postprocess()
img = Image.fromarray(rgb) # Pillow image
img.show() # show on screen