I am very new to all this. Currently i am working on a project where i am using the picamera module 3 noir and pi4 for live detection. Due to using the OS Lite version i use flask to stream in on my web browser. I have read through the picamera library etc and know that not every mode of hdr is supported by the pi4, but when i take a picture using the command line (for exmaple. libcamera-still –sharpness 16 -o afbeelding.jpg and libcamera-still –hdr -o afbeelding.jpg) i actually see the difference. The problem is that i am unable to implement this in my code to. I tried the code here below and kept getting this error
<code>[0:10:50.706450812] [1573] INFO Camera camera_manager.cpp:316 libcamera v0.3.1+50-69a894c4
[0:10:50.817547227] [1598] WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:10:50.819665881] [1598] INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx708@1a to Unicam device /dev/media2 and ISP device /dev/media0
[0:10:50.819791042] [1598] INFO RPI pipeline_base.cpp:1125 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Traceback (most recent call last):
File "/home/Jadepi/livedetectie/livedetectie1/noircam/hdfoto.py", line 15, in <module>
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1234, in set_controls
self.controls.set_controls(controls)
File "/usr/lib/python3/dist-packages/picamera2/controls.py", line 58, in set_controls
File "/usr/lib/python3/dist-packages/picamera2/controls.py", line 33, in __setattr__
raise RuntimeError(f"Control {name} is not advertised by libcamera")
RuntimeError: Control ScalerSharpen is not advertised by libcamera
<code>[0:10:50.706450812] [1573] INFO Camera camera_manager.cpp:316 libcamera v0.3.1+50-69a894c4
[0:10:50.817547227] [1598] WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:10:50.819665881] [1598] INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx708@1a to Unicam device /dev/media2 and ISP device /dev/media0
[0:10:50.819791042] [1598] INFO RPI pipeline_base.cpp:1125 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Traceback (most recent call last):
File "/home/Jadepi/livedetectie/livedetectie1/noircam/hdfoto.py", line 15, in <module>
picam2.set_controls({
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1234, in set_controls
self.controls.set_controls(controls)
File "/usr/lib/python3/dist-packages/picamera2/controls.py", line 58, in set_controls
self.__setattr__(k, v)
File "/usr/lib/python3/dist-packages/picamera2/controls.py", line 33, in __setattr__
raise RuntimeError(f"Control {name} is not advertised by libcamera")
RuntimeError: Control ScalerSharpen is not advertised by libcamera
</code>
[0:10:50.706450812] [1573] INFO Camera camera_manager.cpp:316 libcamera v0.3.1+50-69a894c4
[0:10:50.817547227] [1598] WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:10:50.819665881] [1598] INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx708@1a to Unicam device /dev/media2 and ISP device /dev/media0
[0:10:50.819791042] [1598] INFO RPI pipeline_base.cpp:1125 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Traceback (most recent call last):
File "/home/Jadepi/livedetectie/livedetectie1/noircam/hdfoto.py", line 15, in <module>
picam2.set_controls({
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1234, in set_controls
self.controls.set_controls(controls)
File "/usr/lib/python3/dist-packages/picamera2/controls.py", line 58, in set_controls
self.__setattr__(k, v)
File "/usr/lib/python3/dist-packages/picamera2/controls.py", line 33, in __setattr__
raise RuntimeError(f"Control {name} is not advertised by libcamera")
RuntimeError: Control ScalerSharpen is not advertised by libcamera
<code>from picamera2 import Picamera2
from time import sleep, strftime
# Maak een Picamera2-object
# Configureer de camera voor HDR-achtige effecten
camera_config = picam2.create_still_configuration()
# Stel de sluitertijd (shutter) en andere HDR-achtige instellingen in
shutter_speed = 1000000 # Sluitertijd in microseconden (hier 20ms)
iso_value = 100 # ISO waare voor een lagere gevoeligheid
# Stel de camera instellingen in zonder gebruik van 'draft'
"ExposureTime": shutter_speed, # Stel de sluitertijd in
"AnalogueGain": 1.0, # Verminder de versterking (laagste waarde)
# NoiseReductionMode kan worden ingesteld als je versie van libcamera het ondersteunt
"ScalerSharpen": 16, # Je kunt dit controleren of het werkt in jouw versie
"AeEnable": True # Handmatige belichtingsregeling uitschakelen (om sluitertijd te gebruiken)
picam2.configure(camera_config)
# Wacht even om de camera op te laten starten
# Verkrijg de huidige tijd in een geschikt formaat voor de bestandsnaam
current_time = strftime("%Y-%m-%d_%H-%M-%S")
file_name = f"foto_{current_time}.jpg"
# Maak een foto en sla deze op met de tijd als naam
picam2.capture_file(file_name)
print(f"Foto gemaakt en opgeslagen als '{file_name}'")
<code>from picamera2 import Picamera2
from time import sleep, strftime
# Maak een Picamera2-object
picam2 = Picamera2()
# Configureer de camera voor HDR-achtige effecten
camera_config = picam2.create_still_configuration()
# Stel de sluitertijd (shutter) en andere HDR-achtige instellingen in
shutter_speed = 1000000 # Sluitertijd in microseconden (hier 20ms)
iso_value = 100 # ISO waare voor een lagere gevoeligheid
# Stel de camera instellingen in zonder gebruik van 'draft'
picam2.set_controls({
"ExposureTime": shutter_speed, # Stel de sluitertijd in
"AnalogueGain": 1.0, # Verminder de versterking (laagste waarde)
# NoiseReductionMode kan worden ingesteld als je versie van libcamera het ondersteunt
"ScalerSharpen": 16, # Je kunt dit controleren of het werkt in jouw versie
"AeEnable": True # Handmatige belichtingsregeling uitschakelen (om sluitertijd te gebruiken)
})
picam2.configure(camera_config)
# Start de camera
picam2.start()
# Wacht even om de camera op te laten starten
sleep(2)
# Verkrijg de huidige tijd in een geschikt formaat voor de bestandsnaam
current_time = strftime("%Y-%m-%d_%H-%M-%S")
file_name = f"foto_{current_time}.jpg"
# Maak een foto en sla deze op met de tijd als naam
picam2.capture_file(file_name)
# Stop de camera
picam2.stop()
print(f"Foto gemaakt en opgeslagen als '{file_name}'")
</code>
from picamera2 import Picamera2
from time import sleep, strftime
# Maak een Picamera2-object
picam2 = Picamera2()
# Configureer de camera voor HDR-achtige effecten
camera_config = picam2.create_still_configuration()
# Stel de sluitertijd (shutter) en andere HDR-achtige instellingen in
shutter_speed = 1000000 # Sluitertijd in microseconden (hier 20ms)
iso_value = 100 # ISO waare voor een lagere gevoeligheid
# Stel de camera instellingen in zonder gebruik van 'draft'
picam2.set_controls({
"ExposureTime": shutter_speed, # Stel de sluitertijd in
"AnalogueGain": 1.0, # Verminder de versterking (laagste waarde)
# NoiseReductionMode kan worden ingesteld als je versie van libcamera het ondersteunt
"ScalerSharpen": 16, # Je kunt dit controleren of het werkt in jouw versie
"AeEnable": True # Handmatige belichtingsregeling uitschakelen (om sluitertijd te gebruiken)
})
picam2.configure(camera_config)
# Start de camera
picam2.start()
# Wacht even om de camera op te laten starten
sleep(2)
# Verkrijg de huidige tijd in een geschikt formaat voor de bestandsnaam
current_time = strftime("%Y-%m-%d_%H-%M-%S")
file_name = f"foto_{current_time}.jpg"
# Maak een foto en sla deze op met de tijd als naam
picam2.capture_file(file_name)
# Stop de camera
picam2.stop()
print(f"Foto gemaakt en opgeslagen als '{file_name}'")