Архив рубрики: программирование

OpenCV. Запись видео из набора изображений

Запись видеофайла из серии изображений при помощи библиотеки opencv на языке Python 3.6. Для записи используется объект VideoWriter, который в моем случае вызывается с заранее определенными параметрами: название видеофайла (для сохранения), fourcc (видеокодек), fps, size, isColour.
Размер видеофайла size определяется при однократном чтении первой в серии картинки. Код последовательно читает картинки (названия серии Hxxxx.jpg — H0000.jpg, H0001.jpg, H0002.jpg и так далее), которые находятся в той же папке, где расположен сам исходник.

import cv2

end = 120		#последний номер изображения в серии
fps = 5			#fps
file_ind = 'H'	#индекс изображения

img = cv2.imread(file_ind+'0000.jpg') #читаем первое изображение
size = img.shape[1], img.shape[0] #получаем размеры - высота/ширина
fourcc = cv2.VideoWriter_fourcc(*'XVID') #подключаем кодек по http://www.fourcc.org/codecs.php
video_name = file_ind + '_video.avi'
video = cv2.VideoWriter(video_name, fourcc, fps, size, True) #создаем видеофайл, определяем параметры

for i in range(0,end,1): #проходим в цикле все изображения
    filename = file_ind+str(i).zfill(4)+'.jpg' #формируем переменную с номером файла изображения
    print(filename) #печатаем номер текущего файла
    try:
        img = cv2.imread(filename) #читаем файл изображения
    except:
        pass
    video.write(img) #дописываем кадр в видеофайл

video.release() #отключаем видеозапись
cv2.destroyAllWindows()

В результате сборки изображений получается следующее видео движения облачных масс в радиусе действия ДМРЛ аэропорта Борисполь.

Изображения для составления видео получены с сайта meteo.gov.ua и представляют собой данные ДМРЛ (доплеровского метеорологического радара) аэропорта Борисполь (UKBB) за 4 апреля 2017 года.

ESP8266. Уличная метеостанция

espressifЛогичное продолжение предыдущего поста по настройке ESP8266-07 для работы с датчиками DHT22 и BMP085 при помощи прошивки NodeMCU. Данная метеостанция представляет собою набор из собранных вместе готовых модулей — ESP8266-07, DHT22, BMP180 и DC-DC преобразователя на базе микросхемы LM2596HV. Все компоненты были приобретены в магазине arduino-ua.com. Для корпуса был выбрана коробка из АБС пластика с фланцами для настенного монтажа производства Gainta (модель G203MF).

Уличная метеостанция на ESP8266

Уличная метеостанция на ESP8266

Устройство содержит такие датчики как BMP180 и AM2302 (DHT22), которые позволяют регистрировать следующие параметры окружающей среды:

  • Давление 300…1100 hPa (30…110kPa)
  • Температура -40…+80 °C
  • Влажность 0…100%

Питание устройства осуществляется при помощи сетевого адаптера AC-DC 220В-9В(5В), напряжение которого после дополнительно преобразуется DC-DC преобразоваетелем в напряжение питания 3,3В.
Читать далее