Raspberry Pi Camera v1包含OmniVision OV5647个传感器,最多可提供10bit raw RGB data个传感器。使用opencv的cvQueryFrame
我只得到8位数据。我只对灰度图像感兴趣 - 如何获得10位数据?
答案 0 :(得分:0)
可能有更简单的选项,但这里有几个可能的想法。我也没有编码或测试,就像我通常那样 - 抱歉。
使用“Video for Linux”(v4l2)并打开相机,执行ioctl()s
并自行管理缓冲区 - 很棒的链接here。
使用popen()
启动raspivid
并告诉您需要原始选项(--raw
)并从JPEG结尾获取原始数据,并提供有关Bayer解码的信息 - { {3}}。其他,更容易理解第5.11节here中提供的信息。
答案 1 :(得分:0)
假设您想从静止图像(不一定是视频)中捕获RAW数据,那么我有两种选择:
picamera是一个Python库,可让您将数据捕获到流中。请务必阅读文档,因为使用起来非常棘手。
您还可以使用raspistill
捕获图像文件,并执行所需的处理-如果要处理原始数据(捕获的raspistill --raw
),则可以使用{{ 3}}在Pi的内部或外部。
尽管我们是一家Python商店,但我的团队还是选择了2(与我们自己推出的picamraw结合使用),因为picamera不够稳定。