Как извлечь тепловой кадр из файла экспорта видео FLIR? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть видео файл ИК камеры. Я хочу извлечь это видео в n-кадров. Я использовал обычный метод opencv для извлечения кадров из видео. как показано ниже,

import cv2
vidcap = cv2.VideoCapture('3.mp4')
success,image = vidcap.read()
count = 0
while success:
  cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file      
  success,image = vidcap.read()
  print('Read a new frame: ', success)
  count += 1

Извлекает изображение как обычное изображение вместо теплового изображения.

Я обнаружил, что с помощью приведенного ниже кода.

import flirimageextractor
from matplotlib import cm
from glob import glob
flir = flirimageextractor.FlirImageExtractor(palettes=[cm.jet, cm.bwr, cm.gist_ncar])
for file_ in glob("images/*.jpg"):
    flir.process_image(file_)
    flir.save_images()
    flir.plot()

it throws KeyError: 'RawThermalImageType'

Трассировка полного стека

Traceback (последний вызов был последним) : Файл «thermal_camera.py», строка 8, в файле flir.process_image (file_) «/usr/local/lib/python3.5/dist-packages/flirimageextractor/flirimageextractor.py», строка 101, в файле process_image, если self.get_image_type (). upper (). strip () == "TIFF": Файл "/usr/local/lib/python3.5/dist-packages/flirimageextractor/flirimageextractor.py", строка 133, в get_image_type return json .loads (meta_ json .decode ()) [0] ["RawThermalImageType"] KeyError: 'RawThermalImageType'

Но приведенный выше код хорошо работает для образцов тепловизионных изображений. Это означает, что я не извлекаю кадр из видео как правильный кадр.

Как извлечь кадр из видео FLIR без потери тепловой (необработанной) информации?

...