使用python读取和显示原始图像

使用python读取和显示原始图像,python,image-processing,Python,Image Processing,我想尝试使用spyder python查看图像,如下所示: 图像是: uint16(10位) 宽度:1376像素,高度:960像素 无标题 拜耳图案蓝绿色、绿红色 什么python脚本适合 谢谢。这里有一种方法 从进口开始 from matplotlib import pyplot as plt import numpy as np 现在分配空间 image = np.empty((1376,960), np.uint16) 将图像读入阵列: image.data[:] = open(

我想尝试使用spyder python查看图像,如下所示:

图像是:

  • uint16(10位)
  • 宽度:1376像素,高度:960像素
  • 无标题
  • 拜耳图案蓝绿色、绿红色
什么python脚本适合

谢谢。

这里有一种方法

从进口开始

from matplotlib import pyplot as plt
import numpy as np
现在分配空间

image = np.empty((1376,960), np.uint16)
将图像读入阵列:

image.data[:] = open('20_1-20ms.raw').read()
显示它:

plt.imshow(image)

请先尝试一下,如果您遇到一些问题,请发布代码片段或错误。请注意,这是关于“图像处理”而不是“处理”编程语言。您可以将其分为3或4个步骤,每个步骤都是独立的问题。1) 如何阅读图像。2) 拜耳脱赛灵。3) 从线性颜色空间转换为伽马校正的颜色,如sRGB。4) 应用白平衡或颜色校正。这是我从[link]fin=open('001.raw','rb')s=fin.read()fin.close()arr=array.array('H',s)arr.byteswap()img=numpy.array(arr,dtype='uint16')得到的结果。重塑(9601376)imshow(img,gray());据我所知,这不适用于颜色数据(即,一堆3个图像,每种颜色一个)。Matplotlib的imshow需要浮点或整数来生成合理的RGB图像。试图用int16s调用它会产生混乱的噪音。您必须将10位数据位移到8位数据,或转换为浮点,例如,im_float=im_int/(2**10-1.)。我尝试读取.raw文件,但遇到以下错误:NotImplementedError:memoryview切片分配当前限制为ndim=1。