OpenCV实时屏幕捕获将矩形放在ROI Python中的项目周围

OpenCV实时屏幕捕获将矩形放在ROI Python中的项目周围,python,python-3.x,opencv,numpy,cv2,Python,Python 3.x,Opencv,Numpy,Cv2,嗨,我很难弄清楚,如何在我的实时屏幕捕获的ROI中显示的对象周围放置小矩形 通过OpenCV,我看到了在静态图像上进行模板匹配的示例,以及在网络摄像头的实时视频上进行级联的示例,我还看到了显示汽车在车道上行驶路线的视频示例 我正在寻找一个突出显示ROI中对象周围矩形的基本示例,最终有机会使用pyautogui单击这些项目 下面是到目前为止我的代码 #!python3 import numpy as np from PIL import ImageGrab import cv2 #import

嗨,我很难弄清楚,如何在我的实时屏幕捕获的ROI中显示的对象周围放置小矩形

通过OpenCV,我看到了在静态图像上进行模板匹配的示例,以及在网络摄像头的实时视频上进行级联的示例,我还看到了显示汽车在车道上行驶路线的视频示例

我正在寻找一个突出显示ROI中对象周围矩形的基本示例,最终有机会使用pyautogui单击这些项目

下面是到目前为止我的代码

#!python3

import numpy as np
from PIL import ImageGrab
import cv2
#import time


# define the region of interest function
def roi(img, vertices):
    mask = np.zeros_like(img)
    cv2.fillPoly(mask, vertices, 255)
    masked = cv2.bitwise_and(img, mask)
    return masked


# how the image is going to be processed
def process_img(original_image):

    # convert it to grey
    processed_img = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)

    # add thresholding
    processed_img = cv2.Canny(processed_img, threshold1=150, threshold2=200)
    # add blur
    processed_img = cv2.GaussianBlur(processed_img, (3, 3), 0)

    # Create a Region of Interest (ROI) 
    vertices = np.array([[200, 440], [200, 250], [200, 250], [450, 250], [450, 250], [450, 440]], np.int32)
    processed_img = roi(processed_img, [vertices])
    return processed_img


def main():
    #last_time = time.time()
    while True:
        screen = np.array(ImageGrab.grab(bbox=(40, 420, 720, 1000)))
        new_screen = process_img(screen)
        #print('Loop took {} seconds'.format(time.time()-last_time))
        #last_time = time.time()
        cv2.imshow('game window', new_screen)
        #cv2.imshow('window2', cv2.cvtColor(screen, cv2.COLOR_BGR2RGB))
        if cv2.waitKey(25) & 0xFF == ord('q'):  # press q to escape.
            cv2.destroyAllWindows()
            break
如果有人能填补这个空白,我觉得我很接近,但不太接近


提前感谢。

您当前的代码有什么问题吗?您好,它不会选择周围有矩形的ROI中的项目我显然缺少选择周围有矩形的ROI中的对象的代码…您可以先在网络摄像头中检测到的人脸周围制作矩形,检测眼睛等。如果你愿意,我可以帮你。嗨,我已经达到了一定程度,但是我很难将代码从网络摄像头示例转换到实时屏幕录制。你当前的代码有什么问题?嗨,它不会选择周围有矩形的ROI中的项目我显然缺少在周围有矩形的ROI中选择对象的代码…您可以从在网络摄像头中检测到的人脸周围制作矩形开始,检测眼睛等。如果你愿意,我可以帮你。嗨,我已经达到了一定程度,但我很难将代码从网络摄像头示例转换到实时屏幕录制。