如何设置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
...
注意:我已成功完成此操作,而我的相机是 运行!
有什么方法可以在 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 ...
注意:我已成功完成此操作,而我的相机是 运行!