是否有任何方法可以在Raspberry Pi中设置摄像头以拍摄黑白图像?
由于我需要比较一些不同图像的相对光强度,所以我担心当物体在不同的照明下时,相机会自行进行一些调整,因此,即使我将图像转换为黑色和白色后来,该物体的"真"黑色和白色图像将丢失。
谢谢
编辑:基本上我需要做的是固定相机位置时捕获一些对象的图像,但是更改了光源的位置(因此也更改了照明方向)。然后,对于图像上的每个点,我需要比较不同图像的相对光强度。只要光强度或所有图像的"亮度"相对于相同的比例,就可以了,但是我不确定是这样。我敢肯定,当图像"本质上"变暗或更明亮时,相机是否会自动调整对比度本身。
获得黑白图像(单色,灰度),只需配置相机即可。创建一个" 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模块
在 color_effects 下,您会读到"使图像黑白设置为(128,128)。"
在这种情况下,"黑白图像"是什么意思?任何东西都没有"真"黑白图像。您的传感器对光有一些频率响应,这些传感器为您提供了图像中的值。
在Raspberry Pi摄像机和几乎所有标准摄像机的情况下,都有红色,绿色和蓝色的传感器,它们的频率围绕着各自的频率。这些传感器也以某种模式布置。如果对您特别重要,那么是摄像机,只有一个单个传感器类型的数组对较宽频率敏感的摄像机,但是这些摄像机可能会更昂贵。P>
you can 带有PICAMERA的RASPI摄像机获取原始图像数据。这不是文档中描述的"原始"格式,而是由format
控制,它实际上只是编码之前的处理数据。bayer
选项将返回实际的原始数据。但是,这意味着您必须自己处理处理。例如,该数据中的每个像素将来自其他颜色传感器,并且需要根据传感器响应进行调整。
最简单的事情就是正常使用相机,因为您不会以这种方式获得高精度测量光强度。为了获得准确的结果,您需要校准,并且需要具体地确定数据的目的,如何照亮所有内容以及您实际上对什么数据进行介绍。
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 ...
nota:在我的相机运行时,我已经成功完成了此操作!