簡體   English   中英

使用網絡攝像頭和OpenCV-Python 3.4.0,如何避免一個窗口中的繪圖功能出現在另一個窗口中?

[英]Using a webcam and OpenCV-Python 3.4.0, how do I keep a drawing function in one window from appearing on to another window?

兩個窗口

大家好,

在名為“兩個窗口”的圖片鏈接的右側,我有一個名為“框架”的窗口,其中顯示了一個綠色正方形和一個青色圓圈。 左側是一個名為“二進制”的窗口,該窗口以白色顯示正方形和圓形。

二進制窗口顯示正在移動的白色對象。

我該怎么做才能使繪圖功能不顯示在“二進制”窗口中,而只停留在“框架”窗口中?

我會很感激我能收到的任何幫助。

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()

我刪除了“ last_frame = frame”行,並在繪圖函數之前添加了“ last_frame = frame.copy()”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM