“模板:RPi-Camera-FAQ”的版本间的差异

来自丢石头百科
(创建页面,内容为“{{FAQ|如果拍摄的图片,白平衡效果不正常?| *在不同的拍摄环境下,可能会出现白平衡效果不正常的情况。用户可以自己根据…”)
 
 
第1行: 第1行:
 
{{FAQ|如果拍摄的图片,白平衡效果不正常?|
 
{{FAQ|如果拍摄的图片,白平衡效果不正常?|
 
*在不同的拍摄环境下,可能会出现白平衡效果不正常的情况。用户可以自己根据实际使用情况调节白平衡参数。
 
*在不同的拍摄环境下,可能会出现白平衡效果不正常的情况。用户可以自己根据实际使用情况调节白平衡参数。
*以下opencv的调节代码只作参考。(该代码由RPi Camera (G)使用用户分享)
+
*以下opencv的调节代码只作参考。(该代码分享自 RPi Camera (G) 的用户)
<pre>
+
<source lang="python">
 
import picamera
 
import picamera
 
import picamera.array
 
import picamera.array
第38行: 第38行:
 
if __name__=="__main__":
 
if __name__=="__main__":
 
     test_gcamera()
 
     test_gcamera()
</pre>
+
</source>
|||}}
+
}}

2020年7月20日 (一) 15:43的最新版本

问题:
如果拍摄的图片,白平衡效果不正常?
答复:
  • 在不同的拍摄环境下,可能会出现白平衡效果不正常的情况。用户可以自己根据实际使用情况调节白平衡参数。
  • 以下opencv的调节代码只作参考。(该代码分享自 RPi Camera (G) 的用户)
import picamera
import picamera.array
import cv2
from time import sleep
import numpy as np

def test_gcamera():   
    cv2.namedWindow("img",0)
    with picamera.PiCamera() as camera:
        camera.resolution = (1920, 1080)
        camera.awb_mode = 'off'
        rg, bg = (1.8, 1.4)
        camera.awb_gains = (rg, bg)
        with picamera.array.PiRGBArray(camera) as output:
            for foo in camera.capture_continuous(output, 'rgb', use_video_port=True):
                img = cv2.cvtColor(output.array, cv2.COLOR_RGB2BGR)
                cv2.imshow("img", img)
                cv2.waitKey(1)
                cv2.imwrite("test.jpg",img)
                r, g, b = (np.mean(output.array[..., i]) for i in range(3))
                if abs(r - g) > 2:
                    if r > g:
                        rg -= 0.1
                    else:
                        rg += 0.1
                if abs(b - g) > 1:
                    if b > g:
                        bg -= 0.1
                    else:
                        bg += 0.1
                camera.awb_gains = (rg, bg)
                output.seek(0)
                output.truncate(0)
if __name__=="__main__":
    test_gcamera()