如何设置raspberry pi中的相机拍摄黑白照片?

how to set the camera in raspberry pi to take black and white image?

有什么方法可以在 raspberry pi 中设置相机拍摄黑白图像吗?比如使用 picamera 库中的一些命令/代码?

由于需要比较几张不同图片的相对光强,担心相机在不同光照下会自行调整,所以即使转黑稍后在对象的 'true' 黑白图像上的白色将丢失。

谢谢

编辑:基本上我需要做的是在相机位置固定但光源位置改变(因此照明方向也改变)时捕捉物体的一些图像.然后对于图像上的每个点,我需要比较不同图像的相对光强度。只要光照强度,或者所有图像的'brightness'相对于相同的比例,那么就可以了,但我不确定是否是这样。我确定当图像 'inherently' 更暗或更亮时,相机是否会自动调整对比度之类的东西。

在这种情况下,"black and white image," 是什么意思?没有任何东西的 "true" 黑白图像。您的传感器对光有一定的频率响应,这些传感器会为您提供图像中的值。

在 Raspberry Pi 相机和几乎所有标准相机的情况下,有红色、绿色和蓝色传感器,它们的响应以各自的频率为中心。这些传感器也以特定模式布置。如果它对您特别重要,那么 只具有对更广泛频率范围敏感的单一传感器类型阵列的相机,但这些相机可能会贵得多.

可以 使用 picamera 从 raspi 相机获取原始图像数据。这不是文档中描述的由format控制的"raw"格式,它实际上只是编码前的处理数据。 bayer 选项将 return 实际的原始数据。但是,这意味着您必须自己处理处理。例如,该数据中的每个像素都来自不同的颜色传感器,并且需要根据传感器响应进行调整。

最简单的方法就是正常使用相机,因为以这种方式测量光强度不会非常准确。为了得到准确的结果,你需要校准,你需要具体说明数据的用途,所有东西将如何被照亮,以及你真正感兴趣的数据。

要获得黑白图像(单色、灰度),只需配置您的相机。创建一个 "takeashot.py" ( sudo nano takeashot.py ):

import picamera                  # import files

camera = picamera.PiCamera()     # initialize camera
camera.color_effects = (128,128) # turn camera to black and white
camera.capture('image1.jpg')     # take a shot

执行:sudo python takeashot.py

就是这样

您可以在 10. API - picamera.camera Module

了解更多信息

color_effects下,您阅读了"to make the image black and white set the value to (128, 128)."

v4l 在 python 之前:

v4l2-ctl -c color_effects=1

发件人:

v4l2-ctl -L
User Controls
...
                 color_effects (menu)   : min=0 max=15 default=0 value=1
                            0: None
                            1: Black & White
                            2: Sepia
...

注意:我已成功完成此操作,而我的相机是 运行!