小编Aug*_*ses的帖子

在python openCV上的网络摄像头视频上选择静态ROI

我需要在来自我的网络摄像头的实时视频上选择 ROI(感兴趣区域)或工作区,并仅拍摄此工作区或 ROI 的快照,但我找不到如何执行此操作。

在此页面https://www.learnopencv.com/how-to-select-a-bounding-box-roi-in-opencv-cpp-python/有一个用于绘制 ROI 的代码,但仅包含图像,而不是实时视频。

import cv2
cam = cv2.VideoCapture(0)
cam.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
cv2.namedWindow("test")

img_counter = 0

while True:
    ret, frame = cam.read()
    cv2.imshow("test", frame)
    if not ret:
        break
    k = cv2.waitKey(1)

    if k % 256 == 27:
        # ESC pressed
        print("Escape hit, closing...")
        break
    elif k % 256 == 32:
        # SPACE pressed
        img_name = "opencv_frame_{}.png".format(img_counter)
        cv2.imwrite(img_name, frame)
        print("{} written!".format(img_name))
        img_counter += 1

cam.release()

cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

此代码使用空格键拍摄快照,但未绘制 ROI 区域。提前致谢!

python opencv roi snapshot computer-vision

2
推荐指数
1
解决办法
7112
查看次数

标签 统计

computer-vision ×1

opencv ×1

python ×1

roi ×1

snapshot ×1