Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
ColorConversionStrategy.h
1#include "ColorConversionXForm.h"
2
4{
5public:
7 DetailAbstract(cv::Mat _inpImg, cv::Mat _outImg)
8 {
9 inpImg = _inpImg;
10 outImg = _outImg;
11 }
13 virtual void convert(frame_container& inputFrame, frame_sp& outFrame, framemetadata_sp outputMetadata) {};
14 cv::Mat inpImg;
15 cv::Mat outImg;
16};
17
19{
20public:
21 CpuInterleaved2Planar(cv::Mat _inpImg, cv::Mat _outImg) : DetailAbstract(_inpImg, _outImg) {}
23
24protected:
25 void initMatImages(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
26 {
27 auto frame = Module::getFrameByType(inputFrame, FrameMetadata::RAW_IMAGE);
28
29 inpImg.data = static_cast<uint8_t*>(frame->data());
30 outImg.data = static_cast<uint8_t*>(outputFrame->data());
31 }
32};
33
35{
36public:
37 CpuRGB2YUV420Planar(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Planar(_inpImg,_outImg){}
39
40 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
41 {
42 initMatImages(inputFrame, outputFrame, outputMetadata);
43 cv::cvtColor(inpImg, outImg, cv::COLOR_RGB2YUV_I420);
44 }
45};
46
48{
49public:
50 CpuInterleaved2Interleaved(cv::Mat _inpImg, cv::Mat _outImg) : DetailAbstract(_inpImg, _outImg) {}
52protected:
53 void initMatImages(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
54 {
55 auto frame = Module::getFrameByType(inputFrame, FrameMetadata::RAW_IMAGE);
56
57 inpImg.data = static_cast<uint8_t*>(frame->data());
58 outImg.data = static_cast<uint8_t*>(outputFrame->data());
59 }
60};
61
63{
64public:
65 CpuRGB2BGR(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg,_outImg){}
67 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
68 {
69 initMatImages(inputFrame, outputFrame, outputMetadata);
70 cv::cvtColor(inpImg, outImg, cv::COLOR_RGB2BGR);
71 }
72};
73
75{
76public:
77 CpuBGR2RGB(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
79
80 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
81 {
82 initMatImages(inputFrame, outputFrame, outputMetadata);
83 cv::cvtColor(inpImg, outImg, cv::COLOR_BGR2RGB);
84 }
85};
86
88{
89public:
90 CpuRGB2MONO(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
92
93 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
94 {
95 initMatImages(inputFrame, outputFrame, outputMetadata);
96 cv::cvtColor(inpImg, outImg, cv::COLOR_RGB2GRAY);
97 }
98};
99
101{
102public:
103 CpuBGR2MONO(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
105
106 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
107 {
108 initMatImages(inputFrame, outputFrame, outputMetadata);
109 cv::cvtColor(inpImg, outImg, cv::COLOR_BGR2GRAY);
110 }
111};
112
114{
115public:
116 CpuBayerBG82RGB(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
118
119 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
120 {
121 initMatImages(inputFrame, outputFrame, outputMetadata);
122 cv::cvtColor(inpImg, outImg, cv::COLOR_BayerRG2RGB);
123 }
124};
125
127{
128public:
129 CpuBayerGB82RGB(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
131
132 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
133 {
134 initMatImages(inputFrame, outputFrame, outputMetadata);
135 cv::cvtColor(inpImg, outImg, cv::COLOR_BayerGR2RGB);
136 }
137};
138
140{
141public:
142 CpuBayerGR82RGB(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
144
145 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
146 {
147 initMatImages(inputFrame, outputFrame, outputMetadata);
148 cv::cvtColor(inpImg, outImg, cv::COLOR_BayerGB2RGB);
149 }
150};
151
153{
154public:
155 CpuBayerRG82RGB(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
157
158 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
159 {
160 initMatImages(inputFrame, outputFrame, outputMetadata);
161 cv::cvtColor(inpImg, outImg, cv::COLOR_BayerBG2RGB);
162 }
163};
164
166{
167public:
168 CpuBayerBG82Mono(cv::Mat _inpImg, cv::Mat _outImg) : CpuInterleaved2Interleaved(_inpImg, _outImg) {}
170
171 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
172 {
173 initMatImages(inputFrame, outputFrame, outputMetadata);
174 cv::cvtColor(inpImg, outImg, cv::COLOR_BayerBG2GRAY);
175 }
176};
177
179{
180public:
181 CpuPlanar2Interleaved(cv::Mat _inpImg, cv::Mat _outImg) : DetailAbstract(_inpImg, _outImg) {}
183 void initMatImages(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
184 {
186
187 inpImg.data = static_cast<uint8_t*>(frame->data());
188 outImg.data = static_cast<uint8_t*>(outputFrame->data());
189 }
190};
191
193{
194public:
195 CpuYUV420Planar2RGB(cv::Mat _inpImg, cv::Mat _outImg) : CpuPlanar2Interleaved(_inpImg,_outImg) {}
197
198 void convert(frame_container& inputFrame, frame_sp& outputFrame, framemetadata_sp outputMetadata)
199 {
200 initMatImages(inputFrame, outputFrame, outputMetadata);
201 cv::cvtColor(inpImg, outImg, cv::COLOR_YUV420p2RGB);
202 }
203};
Definition ColorConversionStrategy.h:101
~CpuBGR2MONO()
Definition ColorConversionStrategy.h:104
CpuBGR2MONO(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:103
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:106
Definition ColorConversionStrategy.h:75
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:80
~CpuBGR2RGB()
Definition ColorConversionStrategy.h:78
CpuBGR2RGB(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:77
Definition ColorConversionStrategy.h:166
CpuBayerBG82Mono(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:168
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:171
~CpuBayerBG82Mono()
Definition ColorConversionStrategy.h:169
Definition ColorConversionStrategy.h:114
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:119
~CpuBayerBG82RGB()
Definition ColorConversionStrategy.h:117
CpuBayerBG82RGB(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:116
Definition ColorConversionStrategy.h:127
~CpuBayerGB82RGB()
Definition ColorConversionStrategy.h:130
CpuBayerGB82RGB(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:129
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:132
Definition ColorConversionStrategy.h:140
CpuBayerGR82RGB(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:142
~CpuBayerGR82RGB()
Definition ColorConversionStrategy.h:143
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:145
Definition ColorConversionStrategy.h:153
CpuBayerRG82RGB(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:155
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:158
~CpuBayerRG82RGB()
Definition ColorConversionStrategy.h:156
Definition ColorConversionStrategy.h:48
void initMatImages(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:53
~CpuInterleaved2Interleaved()
Definition ColorConversionStrategy.h:51
CpuInterleaved2Interleaved(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:50
Definition ColorConversionStrategy.h:19
~CpuInterleaved2Planar()
Definition ColorConversionStrategy.h:22
CpuInterleaved2Planar(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:21
void initMatImages(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:25
Definition ColorConversionStrategy.h:179
CpuPlanar2Interleaved(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:181
void initMatImages(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:183
~CpuPlanar2Interleaved()
Definition ColorConversionStrategy.h:182
Definition ColorConversionStrategy.h:63
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:67
CpuRGB2BGR(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:65
~CpuRGB2BGR()
Definition ColorConversionStrategy.h:66
Definition ColorConversionStrategy.h:88
~CpuRGB2MONO()
Definition ColorConversionStrategy.h:91
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:93
CpuRGB2MONO(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:90
Definition ColorConversionStrategy.h:35
~CpuRGB2YUV420Planar()
Definition ColorConversionStrategy.h:38
CpuRGB2YUV420Planar(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:37
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:40
Definition ColorConversionStrategy.h:193
CpuYUV420Planar2RGB(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:195
~CpuYUV420Planar2RGB()
Definition ColorConversionStrategy.h:196
void convert(frame_container &inputFrame, frame_sp &outputFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:198
Definition ColorConversionStrategy.h:4
cv::Mat inpImg
Definition ColorConversionStrategy.h:14
DetailAbstract()
Definition ColorConversionStrategy.h:6
DetailAbstract(cv::Mat _inpImg, cv::Mat _outImg)
Definition ColorConversionStrategy.h:7
virtual void convert(frame_container &inputFrame, frame_sp &outFrame, framemetadata_sp outputMetadata)
Definition ColorConversionStrategy.h:13
cv::Mat outImg
Definition ColorConversionStrategy.h:15
~DetailAbstract()
Definition ColorConversionStrategy.h:12
@ RAW_IMAGE_PLANAR
Definition FrameMetadata.h:33
@ RAW_IMAGE
Definition FrameMetadata.h:32
static frame_sp getFrameByType(frame_container &frames, int frameType)
Definition Module.cpp:973