Python сравнивает 2 кадра в одном видео из openCV - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть тестовый пример, который нужно автоматизировать, когда Framework находится в Python, и в этом мы должны убедиться, что индикатор выполнения был увеличен с его предыдущей позиции.

Допустим, мы смотрим видео в приложениии нам нужно проверить, действительно ли увеличился индикатор выполнения / полоса прокрутки?

Шаги автоматизации теста:

  1. обрезать изображение [PNG] индикатора выполнения.
  2. перехватили прочитайте PNG и проверьте состояние индикатора выполнения.
  3. через 15 минут, снова прочитайте или запишите второй PNG и проверьте состояние индикатора выполнения.
  4. Теперь сравните оба значения png и убедитесь, что индикатор выполнения увеличен.

Можете ли вы предложить в Python при использовании openCV, numpy модулей.

1 Ответ

0 голосов
/ 03 декабря 2018

вы можете легко использовать opencv и numpy для достижения того же.Сначала прочитайте кадры из видео, используя opencv, а затем каждые 15 минут пропущенного видео мы можем сравнить текущий и предыдущий кадры, используя некоторые алгоритмы сходства, такие как compare_ssim (доступно в scipy.measure).Compare_ssim дает число, близкое к единице, если изображения похожи, и близко к нулю, если они не совпадают.вы можете легко использовать 0,70 для вашего случая использования, так как вы хотите проверить точное совпадение.

Вы можете начать читать видео, используя:

cap = cv2.VideoCapture('path to your video')

, затем используйте цикл while для обхода крышки, и вы можете получить доступ к кадру, используя

_, frame = cap.read()

, также вы должны импортировать ssim из scipy

from skimage.measure import compare_ssim as ssim

тогда, когда у вас есть два кадра, которые вы хотите сравнить, используйте:

simlarityIndex = ssim(imageCurrentReshape, imageLoadedReshape)

индекс сходства обозначает, насколько ваши изображения похожи, чем больше значенияпохожие изображения.

надеюсь, это поможет.

...