使用网络摄像头和opencvpython3.4.0,如何防止一个窗口中的绘图函数出现在另一个窗口中?

2024-10-03 13:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

Two Windows

大家好

在名为“两个窗口”的图片链接的右侧,我有一个名为“框架”的窗口,显示一个绿色正方形和一个青色圆圈。左边的正方形是一个白色的。你知道吗

二进制窗口以白色显示正在移动的对象。你知道吗

怎样才能使绘图函数不显示在“二进制”窗口中,而只显示在“帧”窗口中?你知道吗

如果能得到任何帮助,我将不胜感激。你知道吗

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

ret, last_frame = cap.read()

if last_frame is None:
    exit()

while(cap.isOpened()):
    ret, frame = cap.read()

    if frame is None:
        exit()

    binary = cv2.absdiff(last_frame, frame)
    binary = cv2.cvtColor(binary, cv2.COLOR_BGR2GRAY) 
    ret, binary = cv2.threshold(binary,50,255,cv2.THRESH_BINARY) 

    last_frame = frame.copy()

    #Rectangle
    frame = cv2.rectangle(frame,(0,0),(320,240),(0,255,0),3)

    #Circle
    vRow, vCol, vCH = frame.shape
    cirR = 30
    cirRowPos = int(vRow/2)
    cirColPos = int(vCol-cirR) - int(vCol*0.05)
    frame = cv2.circle(frame,(cirColPos, cirRowPos), cirR, (255,255,0), 3)

    cv2.imshow('frame', frame)
    cv2.imshow('binary', binary)

    if cv2.waitKey(33) >= 0:
        break

    last_frame = frame

cap.release()
cv2.destroyAllWindows()

Tags: importreadif二进制cv2frameintcap