Tôi đang sử dụng OpenCV (2.4) và Python (2.7.3) bằng camera USB từ Thorlabs (DC1545M).Đặt thông số máy ảnh trong OpenCV/Python
Tôi đang thực hiện một số phân tích hình ảnh trên luồng video và tôi muốn có thể thay đổi một số thông số máy ảnh từ luồng video của mình. Điều khó hiểu là tôi có thể thay đổi một số thuộc tính máy ảnh nhưng không phải tất cả chúng, và tôi không chắc chắn về những gì tôi đang làm sai.
Đây là mã, sử dụng các ràng buộc CV2 bằng Python, và tôi có thể xác nhận rằng nó chạy:
import cv2
#capture from camera at location 0
cap = cv2.VideoCapture(0)
#set the width and height, and UNSUCCESSFULLY set the exposure time
cap.set(3,1280)
cap.set(4,1024)
cap.set(15, 0.1)
while True:
ret, img = cap.read()
cv2.imshow("input", img)
#cv2.imshow("thresholded", imgray*thresh2)
key = cv2.waitKey(10)
if key == 27:
break
cv2.destroyAllWindows()
cv2.VideoCapture(0).release()
Để tham khảo, đối số đầu tiên trong cap.set() lệnh đề cập đến liệt kê các thuộc tính máy ảnh, được liệt kê dưới đây:
0. CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds.
1. CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.
3. CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file
4. CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.
5. CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.
6. CV_CAP_PROP_FPS Frame rate.
7. CV_CAP_PROP_FOURCC 4-character code of codec.
8. CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.
9. CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
10. CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
11. CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).
12. CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).
13. CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).
14. CV_CAP_PROP_HUE Hue of the image (only for cameras).
15. CV_CAP_PROP_GAIN Gain of the image (only for cameras).
16. CV_CAP_PROP_EXPOSURE Exposure (only for cameras).
17. CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.
18. CV_CAP_PROP_WHITE_BALANCE Currently unsupported
19. CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)
câu hỏi của tôi là:
Có thể đặt thời gian phơi sáng của máy ảnh (hoặc các thông số máy ảnh khác) thông qua python/opencv không?
Nếu không, tôi sẽ làm cách nào để thiết lập các thông số này?
Lưu ý: Có mã C++ do nhà sản xuất máy ảnh cung cấp, nhưng tôi không phải là chuyên gia (bằng ảnh dài) trong C++ và sẽ đánh giá cao mọi giải pháp dựa trên python.
Cảm ơn trước!
Vì vậy, tùy chọn 15 là gì, tức là CV_CAP_PROP_EXPOSURE? Không phải là thời gian phơi sáng sao? –
Đó là. Điểm tôi đang làm là cố gắng sửa đổi điều đó tạo ra bất kỳ kết quả có thể đo lường nào. (đó là 'cap.set (15, x)', không có giá trị 'x' tạo ra một thay đổi có thể đo lường được.) Nhân tiện, cảm ơn blog của bạn. Nó đã được vô cùng hữu ích cho tôi trong việc tăng tốc với opencv thông qua python. Bạn nhận được một upvote cho rằng :) – Mike
dòng cuối cùng: cv2.VideoCapture (0) .release() có thể chỉ đơn giản là cap.release() :) – otterb