Python 处理fps值​;来自视频

Python 处理fps值​;来自视频,python,tensorflow,opencv,frame-rate,Python,Tensorflow,Opencv,Frame Rate,我将对为车牌识别系统打开的视频图像执行fps操作,对这些fps值进行过滤和轮廓​​并使铭牌及其位置能够使用easyocr读取文本 现在我无法集成fps操作,然后是过滤和轮廓操作 我怎么做?有知识的人能帮忙吗 import numpy as np import cv2 import time import pyautogui cap = cv2.VideoCapture(0) prev_frame_time = 0 new_frame_time = 0 while(cap.isOpened()

我将对为车牌识别系统打开的视频图像执行fps操作,对这些fps值进行过滤和轮廓​​并使铭牌及其位置能够使用easyocr读取文本

现在我无法集成fps操作,然后是过滤和轮廓操作

我怎么做?有知识的人能帮忙吗

import numpy as np
import cv2
import time
import pyautogui

cap = cv2.VideoCapture(0)
prev_frame_time = 0
new_frame_time = 0

while(cap.isOpened()):
    ret, frame = cap.read()
    # video bittiyse veya Video Girişi yoksa
    if not ret:
        break
    gray = frame

    # çerçeve boyutunu ihtiyacımıza göre yeniden boyutlandırma
    gray = cv2.resize(gray, (500, 300))
    font = cv2.FONT_HERSHEY_SIMPLEX
    new_frame_time = time.time()
    # Fps hesaplanıyor
    fps = 1/(new_frame_time-prev_frame_time)
    prev_frame_time = new_frame_time
    fps = int(fps)  # fps'yi tam sayıya dönüştürme
    # kare üzerinde görüntüleyebilmemiz için fps'yi dizeye dönüştürme
    fps = str(fps)
    pyautogui.screenshot("x.png")

    # kareye FPS sayısını koyma
    cv2.putText(gray, fps, (7, 35), font, 1, (100, 255, 0), 3, cv2.LINE_AA)
    cv2.imshow('frame', gray)
    
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
---------------------------------------------------------------------------------
import cv2
from matplotlib import pyplot as plt
import numpy as np
import imutils
from datetime import datetime
import pyscreenshot

cam=cv2.VideoCapture(0)  #kameradan video açma
while cam.isOpened():
    ret,frame=cam.read()
    frame=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #Görüntü gri tonlarında geliyor
    img_bfilter = cv2.bilateralFilter(frame, 11, 17, 17) #Gürültü azaltma
    img_edged = cv2.Canny(img_bfilter, 30, 200) #Canny ile Kenar algılama
    cv2.imshow('Video',img_edged)  #Görüntüyü gösterin sınırları boyunca ard arda devam eden noktaları dış çevreden ayırırız   
    
    
    keypoints = cv2.findContours(img_edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    #kontür bulundu
    contours = imutils.grab_contours(keypoints)    #grab_contours ,contours kontürlerini döndürür
    #find_contours ve grab_contours genellikle birlikte kullanılır.
    contours = sorted(contours, key=cv2.contourArea, reverse=True)[:10]
    #Aldığımız kontürler sıralanır.İlk 10 kontür aldık
    location = None  #location adında geçici değişken 
    for contour in contours:
        approx = cv2.approxPolyDP(contour, 10, True)  #approx değişkenine sıralı kontürlerden yaklaşık bir 
        if len(approx) == 4:  #4 anahtar  noktaya sahipse
            location = approx  #yaklaşık(approx) konum olsun
            break  
    mask = np.zeros(frame.shape, np.uint8)  #maskeleme işlemi için ilk resmi kullanıp zeros ile siyah bir rsesim elde ediyoruz
    new_image = cv2.drawContours(mask, [location], 0,255, -1)
    #Kontürlerimizi new_image adlı değişkene  çizdik. mask değişkeni üzerinde  location konumlarına göre kontür çiziyoruz
    new_image = cv2.bitwise_and(cam, cam, mask=mask)
    cv2.imshow('Video',mask)  #Görüntüyü göster
    
    if not ret:   #Görüntünün okunup okunmadığını belirtelim
        print("Kameradan görüntü alınamıyor")
        break
    
    if cv2.waitKey(20) & 0xFF==ord("q"):   #q tuşuna basınca görüntü sonlandırılır.
        print("görüntü sonlandırıldı")
        break
    
cam.release() 
cv2.destroyAllWindows()