Python 处理fps值;来自视频
我将对为车牌识别系统打开的视频图像执行fps操作,对这些fps值进行过滤和轮廓并使铭牌及其位置能够使用easyocr读取文本 现在我无法集成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()
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()