DFX Extraction library v4.12.0
enabling applications to perform DFX blood flow analysis
VideoFrame.h
1 /*
2  * Copyright (c) 2016-2019, Nuralogix Corp.
3  * All Rights reserved
4  *
5  * THIS SOFTWARE IS LICENSED BY AND IS THE CONFIDENTIAL AND
6  * PROPRIETARY PROPERTY OF NURALOGIX CORP. IT IS
7  * PROTECTED UNDER THE COPYRIGHT LAWS OF THE USA, CANADA
8  * AND OTHER FOREIGN COUNTRIES. THIS SOFTWARE OR ANY
9  * PART THEREOF, SHALL NOT, WITHOUT THE PRIOR WRITTEN CONSENT
10  * OF NURALOGIX CORP, BE USED, COPIED, DISCLOSED,
11  * DECOMPILED, DISASSEMBLED, MODIFIED OR OTHERWISE TRANSFERRED
12  * EXCEPT IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF A
13  * NURALOGIX CORP SOFTWARE LICENSE AGREEMENT.
14  */
15 #pragma once
16 #ifndef LIBDFX_VIDEOFRAME_H
17 #define LIBDFX_VIDEOFRAME_H
18 
19 #include <limits>
20 #include <opencv2/opencv.hpp> // For cv::Mat (and cv::Point3f) from core
21 
22 namespace dfx {
23 
35 struct VideoFrame {
47  enum class ChannelOrder {
49  BGR = 1,
50 
52  RGB = 2,
53 
55  BGRA = 3,
56 
58  RGBA = 4,
59 
61  Infrared = 5,
62 
64  Infrared888 = 6,
65 
67  BGR_Infrared = 7,
68 
70  RGB_Infrared = 8,
71 
73  Gray = 9
74  };
75 
82  cv::Mat image;
83 
92 
104  uint64_t timestamp_ns;
105 
116  uint32_t number;
117 
145  double timestamp_millisec{std::numeric_limits<double>::quiet_NaN()};
146 };
147 } // namespace dfx
148 
149 #endif // LIBDFX_VIDEOFRAME_H
dfx::VideoFrame::timestamp_ns
uint64_t timestamp_ns
the timestamp of this video frame.
Definition: VideoFrame.h:104
dfx::VideoFrame::ChannelOrder::RGB_Infrared
@ RGB_Infrared
dfx::VideoFrame::ChannelOrder::Infrared
@ Infrared
dfx::VideoFrame::order
ChannelOrder order
the image channel ordering.
Definition: VideoFrame.h:91
dfx::VideoFrame::ChannelOrder::Infrared888
@ Infrared888
dfx::VideoFrame::ChannelOrder::Gray
@ Gray
dfx::VideoFrame::ChannelOrder::RGBA
@ RGBA
dfx::VideoFrame::ChannelOrder::BGR_Infrared
@ BGR_Infrared
dfx::VideoFrame::timestamp_millisec
double timestamp_millisec
the timestamp of the video frame in milliseconds
Definition: VideoFrame.h:145
dfx::VideoFrame::ChannelOrder
ChannelOrder
Definition: VideoFrame.h:47
dfx::VideoFrame
Represents the internal structure for how image frames are passed to the DFX Engine since there is li...
Definition: VideoFrame.h:35
dfx::VideoFrame::ChannelOrder::BGRA
@ BGRA
dfx::VideoFrame::ChannelOrder::RGB
@ RGB
dfx::VideoFrame::image
cv::Mat image
the image color channels for the frame.
Definition: VideoFrame.h:82
dfx
Definition: ChunkData.h:21
dfx::VideoFrame::ChannelOrder::BGR
@ BGR
dfx::VideoFrame::number
uint32_t number
the video frame number within the video sequence.
Definition: VideoFrame.h:116