如何使用python自动选择视频中的最佳帧?

如何使用python自动选择视频中的最佳帧?,python,image-processing,Python,Image Processing,我们正在使用python(2.7.12)进行一个关于车牌识别的项目。我们使用以下代码将视频分为若干帧: import cv2 #importing opencv library import numpy #importing numpy cap = cv2.VideoCapture('C:/Python27/project/license.avi') #read the video success,image = cap.read()

我们正在使用python(2.7.12)进行一个关于车牌识别的项目。我们使用以下代码将视频分为若干帧:

import cv2               #importing opencv library
import numpy             #importing numpy
cap = cv2.VideoCapture('C:/Python27/project/license.avi')  #read the video
success,image = cap.read()      #divide into frames
count = 0
success = True
while (cap.isOpened()): 
    success,image = cap.read()  
    print 'Read a new frame: ', success  #when frame has been read successfully
    if (type(image) == type(None)):  #check for invalid frame
            break
    else:
      gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) #convert frame into grey
    cv2.imwrite("frame%d.jpg" % count, gray_image)     # save frame as JPEG file
    count += 1         #repeat for all the frames
cap.release()
我们正在尝试获得最佳的帧(具有高质量)。是否可以自动选择具有完整车牌的帧?
任何建议都会有帮助。

这取决于您如何定义高质量?根据我的说法,对帧执行FFT,并使用具有最小模糊度的帧。但是,我们还需要确保使用FFT选择的特定帧还应包含整个车牌,而不仅仅是其中的一部分(当视频分为多个帧时,并非所有帧都有竞争牌,有些可能只有一部分)。我应该如何实现这一点?这取决于您如何定义高质量?根据我的说法,对帧执行FFT,并使用具有最小模糊度的帧。但是,我们还需要确保使用FFT选择的特定帧还应包含整个车牌,而不仅仅是其中的一部分(当视频分为多个帧时,并非所有帧都有竞争牌,有些可能只有一部分)。我应该如何实现这一点?