お世話になります。
現在ラズベリーパイ4bにUSBからwebカメラを接続して、python openCVを使ってカメラ起動を行っているのですが、
マニュアルフォーカスの切り替えがうまくいかず困っております。
下記内容のスクリプトを実行しているのですがオートフォーカスのままです。何が原因なのでしょうか?
ご享受よろしくお願いいたします。
使用しているwebcameraはフォーカスの切り替えに対応しているものでございます。
構成
ラズベリーパイ4b
linux
python3.7 3
python
1# -*- coding: utf-8 -*- 2# 3import cv2 4from datetime import datetime 5 6cap = cv2.VideoCapture(0) 7cap.set(cv2.CAP_PROP_FPS, 30) 8cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 320) 9cap.set(cv2.CAP_PROP_FRAME_WIDTH, 240) 10focus_val = 0 # 0~255 11cap.set(cv2.CAP_PROP_SETTINGS, 1 );#この行でマニュアルフォーカスに切り替えていると思われる。 12cap.set(cv2.CAP_PROP_FOCUS,focus_val) 13 14while True: 15 ret, frame = cap.read() 16 cv2.imshow("frame", frame) 17 k = cv2.waitKey(1)&0xff 18 if k == ord('q'): 19 break 20 21cap.release() 22cv2.destroyAllWindows()
>切り替えていると思われる。
ってことは何しているのか確認していないってことでしょうか。
ご回答誠にありがとうございます。
確認ということですが実際にカメラを起動してオートフォーカスになってしまっているということしか、
確認は出来ておりません。
URLありがとうございます。読ませていただいたのですが、いまいち使い方が分かりませんでした。
どのように使えばよろしいのでしょうか?
先程のURLに
(https://docs.opencv.org/4.4.0/d4/d15/group__videoio__flags__base.html#gaeb8dd9c89c10a5c63c139bf7c4f5704d)
Python: cv.CAP_PROP_AUTOFOCUS
という項目があるのでget/setしてみるとかはいかがでしょうか。
動作するかはわかりませんが。
1T2R3M4様
何から何まで本当にありがとうございます。
試させていただきます。
回答1件
あなたの回答
tips
プレビュー