NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jakub Zach
Člen
Avatar
Jakub Zach:10.8.2022 8:40

Ahoj všem, má někdo zkušenost s prací s webkou pomocí Pythonu? V rámci projektu máme přes USB připojený mikroskop (chová se jako web kamera) a náš kód v Pythonu bychom potřebovali napsat tak, aby vypnul přední LED (= jakoby blesk?) když pořizuje snímky, protože si svítíme zespoda. Díky za jakýkoliv tip.

Zkusil jsem:

import cv2

cap = cv2.VideoCapture(1)

cap.set(cv2.CAP_PROP_FRAME_WIDTH, 2592)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1944)
cap.set(cv2.CAP_PROP_EXPOSURE, -8)
cap.set(cv2.CAP_PROP_BACKLIGHT, 0) # does not work!

result, image = cap.read()

Vyzkoušel jsem, lze nastavit rozlišení, expozici, stupně šedi, ale BACKLIGHT přední ledky neovládá.

 
Odpovědět
10.8.2022 8:40
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:10.8.2022 9:24

nic o tom nevim. Ale zkousel jsem googlovat cokoliv v souvislosti webcam python a nasel jsem zminky o...
= Accessing the webcam | OpenCV with Python
= webcam python cv2 light
= webcam python cv2 microscope light

 OPENCV_VIDEOIO_PRIORITY_MSMF=0
OPENCV_VIDEOIO_DEBUG=1
VIDEOIO(cvCreateCapture_MSMF(index))

cam.set(cv2.CAP_PROP_BRIGHTNESS, brightness)
brightness = cam.set(cv2.CAP_PROP_BRIGHTNESS.get(10)

Videocapture.set(CV_CAP_PROP_BACKLIGHT, 0)

cap.set(CAP_PROP_SETTINGS,1);

cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0)
cap.set(cv2.CAP_PROP_EXPOSURE, -7.0)
print(cap.get(cv2.CAP_PROP_EXPOSURE))

 CAP_PROP_EXPOSURE on Windows and CAP_PROP_AUTO_EXPOSURE properties on Mac?

cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0.25)
cap.set(cv2.CAP_PROP_EXPOSURE , -1)

Tady treba snimaji obraz po 50 ms, jestli to spravne chapu, aby stihl dostatecne osvetlit senzory camery. Coz by mozna nebylo spatne do toho kodu pridat.
https://www.anycodings.com/…is-very-dark
https://answers.opencv.org/questions/
https://ashishware.com/…otiondetect/
https://www.e-consystems.com/…with-python/
https://answers.opencv.org/…under-linux/

No, tipnul bych, ze je treba vypnout CAP_PROP_AUTO_EX­POSURE nebo se to mozna jmenuje jinak. Jeden z tech prikladu naznacuje neco jako CV_CAP_PROP_B­ACKLIGHT misto cv2.CAP_PROP_BAC­KLIGHT. Ale nevim, jaky je v tom rozdil. S tim cv2.neco by melo byt asi lepsi.

Editováno 10.8.2022 9:25
 
Nahoru Odpovědět
10.8.2022 9:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.