-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathToolOneTestDemo.cpp
More file actions
312 lines (259 loc) · 13.6 KB
/
ToolOneTestDemo.cpp
File metadata and controls
312 lines (259 loc) · 13.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
#include "ToolOneTestDemo.h"
#include "DepthComputeToolOne.h"
using namespace std;
using namespace cv;
ToolOneTestDemo::ToolOneTestDemo()
{
}
ToolOneTestDemo::~ToolOneTestDemo()
{
}
// #define SCENE_DEPTH_COMPUTE 1
void ToolOneTestDemo::data1compute()
{//数据1106
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 13; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1106";//存放中间结果的文件夹
string inputRawImg = "src_1106_rct.bmp";
string centerPointFile = "white_1106_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data2compute()
{//数据0822
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 13; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data0822";//存放中间结果的文件夹
string inputRawImg = "src_0822_rct.bmp";
string centerPointFile = "white_0822_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data3compute()
{//数据1130_1
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 14; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1130_1";//存放中间结果的文件夹
string inputRawImg = "1130_1_src_rct.bmp";
string centerPointFile = "1130_1_white_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data4compute()
{//数据1130_2
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 14; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1130_2";//存放中间结果的文件夹
string inputRawImg = "1130_2_src_rct.bmp";
string centerPointFile = "1130_2_white_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data5compute()
{//数据1130_3
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 14; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1130_3";//存放中间结果的文件夹
string inputRawImg = "1130_3_src_rct.bmp";
string centerPointFile = "1130_3_white_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data6compute()
{//数据1130_4
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 14; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1130_4";//存放中间结果的文件夹
string inputRawImg = "1130_4_src_rct.bmp";
string centerPointFile = "1130_4_white_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data7compute()
{//数据1130_6
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 14; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1130_6";//存放中间结果的文件夹
string inputRawImg = "1130_6_src_rct.bmp";
string centerPointFile = "1130_6_white_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}
void ToolOneTestDemo::data8compute()
{//数据1130_7
//第一步,对Raw图像进行相关参数的设置
int xCenterStartOffset = 3;
int yCenterStartOffset = 3; //x和y方向上的图像偏移值
int xCenterEndOffset = 3;
int yCenterEndOffset = 3; //截取的图像宽度和高度
int filterRadius = 4; //滤波半径
float circleDiameter = 34.0; //小圆宽度
float circleNarrow = 1.5; //窗口缩减值
int dispMin = 5; //视差最小值
int dispMax = 14; //视差最大值
float dispStep = 0.5; //视差迭代值
string folderName = "data1130_7";//存放中间结果的文件夹
string inputRawImg = "1130_7_src_rct.bmp";
string centerPointFile = "1130_7_white_rct_center.txt";
//第二步,进行数据初始化
DepthComputeToolOne depthComputeToolOne;
depthComputeToolOne.parameterInit(folderName, centerPointFile, inputRawImg, yCenterStartOffset, xCenterStartOffset, yCenterEndOffset, xCenterEndOffset
, filterRadius, circleDiameter, circleNarrow, dispMin, dispMax, dispStep);
//第三步,进行Raw图像的视差计算,注意切换宏定义,注释掉SCENE_DEPTH_COMPUTE的定义即可
#ifndef SCENE_DEPTH_COMPUTE
depthComputeToolOne.rawImageDisparityCompute();
//第四步,采用Matlab程序进行子孔径图像的渲染,然后将子孔径图像和映射文件放在当前目录下
#else
//第五步,进行场景深度的计算,注意切换前面的宏定义,取消注释SCENE_DEPTH_COMPUTE即可
string subImageName = "randerSubImg.bmp";//子孔径图像
string renderPointsMapping = "renderPointsMapping.txt";//渲染的映射点
depthComputeToolOne.sceneDepthCompute(subImageName, renderPointsMapping);
#endif
}