จะเพิ่มเวลาการเปิดรับแสงของกล้องได้อย่างไร?


10

ฉันกำลังถ่ายภาพในสภาพแวดล้อมที่มืดมากและฉันต้องการได้ภาพที่สว่างกว่า ฉันจะเพิ่มเวลารับแสงได้อย่างไร ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:

  • โหมดการเปิดรับแสงที่แตกต่างกันเช่นกลางคืนยาวมาก ฯลฯ
  • ตั้งค่าความเร็วชัตเตอร์เป็นค่าที่ต่างกัน
  • ลองใช้อัตราเฟรมที่แตกต่างกัน (ตั้งแต่ 1 ถึง 80)
  • การเปิดรับแสงที่แตกต่างกัน _ การชดเชย (0 ถึง 24)

ไม่ว่าฉันจะใช้การตั้งค่าแบบใดฉันยังคงได้รับ 33158 เป็นความเร็วชัตเตอร์เมื่อถ่ายภาพ (ใช่แม้ว่าฉันจะตั้งค่าความเร็วชัตเตอร์ด้วยตนเองเป็นค่าที่สูงกว่ามากก็ยังคงเป็น 33158) วิธีแก้ปัญหานี้ หากฉันตั้งค่าความเร็วชัตเตอร์เป็นค่าที่ต่ำกว่าเช่น 10,000 หรือ 1,000 มันจะใช้งานได้ แต่ในกรณีนั้นภาพจะมืดกว่า (ไม่ใช่สิ่งที่ฉันต้องการ)

ฉันลองใช้ความสว่างที่แตกต่างกันเช่นกัน แต่เนื่องจากฉันต้องการให้ภาพของฉันครอบคลุมพิกเซลเต็มรูปแบบ (จาก 0 ถึง 255) ฉันจึงพบว่าความสว่าง = 50 ดีที่สุด (มีความสว่าง = 60 แม้แต่ส่วนที่มืดที่สุดของภาพก็มีพิกเซล มูลค่าประมาณ 40)

ดังนั้นฉันจะทำอะไรได้อีกเพื่อเพิ่มการเปิดรับแสงหรือเปลี่ยนการตั้งค่าอื่น ๆ ของกล้องเพื่อให้ได้ภาพที่สว่างขึ้นในสภาพแวดล้อมที่มืดมาก

ขอบคุณ


1
คุณใช้ซอฟต์แวร์อะไร หน้านี้อาจมีประโยชน์: raspberrypi.org/forums/viewtopic.php?f=43&t=61445ดูเหมือนว่าการเปิดรับซอฟต์แวร์จะ จำกัด อยู่ที่ 2 วินาที
Darth Vader

ฉันจะตรวจสอบซอฟต์แวร์ที่ใช้งานอยู่ได้อย่างไร ฉันแค่ใช้เว็บแคมสำหรับราสเบอร์รี่ pi และโมดูล picamera สำหรับโค้ด
นักฟิสิกส์

กำลังใช้เทอร์มินัล LX หรือคุณใช้รหัสหลาม?
Darth Vader

ฉันใช้เทอร์มินัล LX เพื่อเปิดตัวแก้ไข python (ฉันพิมพ์ 'sudo spe' และ spe เป็นตัวแก้ไขของ python) เพื่อเขียนรหัส
นักฟิสิกส์

ดังนั้นคุณกำลังเขียนโค้ดด้วยไพ ธ อนลองใช้คุณสมบัติ shutter_speed แล้วตั้งเป็นค่าที่มีขนาดใหญ่มากเช่น 2000000000
Darth Vader

คำตอบ:


3

แม้ว่ากล้องราสเบอร์รี่มีข้อ จำกัด มากมาย แต่ก็เป็นไปได้ที่จะถ่ายภาพในสภาพแวดล้อมที่มืดมาก

โหมดกลางคืนที่ดีที่สุดของฉันสำหรับกล้องราสเบอร์รี่ pi คือการตั้งค่านี้:

raspistill -w 2592 -h 1944 -ISO 800 -ss 6000000 -br 80 -co 100 -o out.jpeg

ที่อยู่:

  • -wและ-hถูกบังคับขนาด (สำหรับ cam v1.3 - 5Mpix)
  • -ISO 800 เป็นค่า ISO ที่ดีที่สุดกล้องยังรองรับ ISO 1600 แต่เฉพาะในโหมดกีฬาที่เวลาชัตเตอร์ถูก จำกัด ไว้ที่ 1 / 60s
  • -ss 6000000 เป็นเวลาชัตเตอร์เป็นไมโครวินาที (6s) มันเป็นค่าสูงสุดที่สามารถตั้งค่าได้สำหรับโมดูลกล้องนี้
  • นอกจากนี้ยังสามารถกำหนดค่าความสว่างและความคมชัดด้วย-brและ-coพารามิเตอร์ซึ่งค่าที่ดีที่สุดสำหรับความสว่าง 80 และความคมชัด 100 (ความคมชัดเพิ่มเสียงรบกวน)

ทางเลือกสำหรับการลดสัญญาณรบกวนเป็นวิธีที่ดีที่สุดในการสร้างภาพมากขึ้นและคำนวณค่าเฉลี่ยหรือค่ามัธยฐานโดยใช้เครื่องมือจินตภาพ:

convert out_*.jpeg -average avg.jpeg
convert out_*.jpeg -evaluate-sequence median avg.jpeg

จากประสบการณ์ของฉันลดเสียงรบกวนด้วยค่ามัธยฐานจาก 5 ภาพ

Btw หากตั้งค่าความเร็วชัตเตอร์เป็น 6 วินาทีดังนั้น raspistill จะทำงานประมาณ 40 วินาทีอาจจะทำให้ภาพมากขึ้นก่อนที่จะคำนวณสมดุลสีขาวหรือกระบวนการลดจุดรบกวนหรือไม่ทราบแน่ชัด


1

หน้าเว็บเหล่านี้อาจมีประโยชน์สำหรับคุณ:

https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=61445

https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=85856

ดูเหมือนว่าในปัจจุบันการเปิดรับแสงจะ จำกัด อยู่เพียง 2 วินาทีปัญหาเกี่ยวกับความเร็วชัตเตอร์จะถูกควบคุมในหน่วยนาโนวินาที สำหรับการเปิดรับแสงนาน ๆ มันจะส่งผลให้มีตัวเลขจำนวนมากอย่างน่าขัน ทางเลือกของคุณก็คือการเพิ่ม ISO แต่จะลดคุณภาพของภาพลง


0

ฉันมีปัญหากับเรื่องนี้เช่นกัน แม้กระทั่งในขณะที่ยังคงอยู่เฟรมจะต้องปรับเพื่อปรับเวลาชัตเตอร์กล้องยาว คู่มือทั้งหมดบอกว่าใช้อัตราเฟรม 1/10 แต่ 1/9 นั้นดีที่สุดที่ฉันสามารถทำได้

# set camera
camera.framerate = 1/9
camera.shutter_speed = 33000     # 150 ... to .... 9000000


# check camera exposure on last capture
test_shutter_speed = camera.exposure_speed

shutter_speed คือสิ่งที่คุณต้องการ, exposure_speed เป็นสิ่งที่คุณเกิดขึ้นจริง

หากคุณถ่ายภาพคุณสามารถใช้ PIL และ numpy เพื่อตรวจสอบความสว่างของภาพสุดท้ายเพื่อช่วยปรับความเร็วชัตเตอร์ต่อไป

from PIL import Image
import numpy as np

camera.capture('filename.jpg')

im = Image.open('filename.jpg')

brightness = np.mean(im)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.