Как извлечь тепловую рамку из файла экспорта видео FLIR?

У меня есть видеофайл с ИК-камеры. Я хочу разложить это видео на 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'

Полная трассировка стека

Отслеживание (последний вызов последним): файл «Thermal_camera.py», строка 8, в flir.process_image (file_) Файл «/usr/local/lib/python3.5/dist-packages/flirimageextractor/flirimageextractor.py», строка 101, в process_image if self.get_image_type (). Upper (). Strip () == "TIFF": File "/usr/local/lib/python3.5/dist-packages/flirimageextractor/flirimageextractor.py", строка 133 , в get_image_type вернуть json.loads (meta_json.decode ()) [0] ["RawThermalImageType"] KeyError: 'RawThermalImageType'

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

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


person Mohamed Thasin ah    schedule 28.04.2020    source источник
comment
Я предполагаю, учитывая ваш пример кода, но, учитывая, что вы пытаетесь загрузить из .mp4, необработанные тепловые данные уже потеряны. Формат RAW FLIR будет .seq (файл последовательности). Если вы работаете с .mp4, то теперь это простой видеофайл, как и любой другой.   -  person George Kerwood    schedule 14.05.2020


Ответы (1)


Просто экспортируйте фильм из Flir Research Software в виде файла .wmv, и он будет работать нормально.

import cv2
vidcap = cv2.VideoCapture('3.wmv')
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
person bantandor    schedule 14.01.2021