SatDump
2.0.0-alpha-76a915210
Loading...
Searching...
No Matches
warp.h
1
#pragma once
2
3
#include "
image/image.h
"
4
#include "projection/thinplatespline.h"
5
#include <memory>
6
#include <functional>
7
8
namespace
satdump
9
{
10
namespace
warp
11
{
12
/*
13
Image warping operation, taking an image and Ground Control Points.
14
output_width and output_height do NOT define the *actual* output
15
height / width. It defines the overall resolution assuming it was
16
covering 360 degrees of longitude and 180 of latitude.
17
*/
18
struct
WarpOperation
19
{
20
image::Image
*input_image;
21
std::vector<projection::GCP> ground_control_points;
22
int
output_width;
23
int
output_height;
24
int
output_rgba =
false
;
25
26
int
shift_lon = 0;
27
int
shift_lat = 0;
28
};
29
30
/*
31
Result of an image warping operation, holding the image and resulting
32
4 GCPs.
33
Those GCPs allow referencing the resulting image to Lat / Lon using a
34
much less compute-intensive affine transform.
35
*/
36
struct
WarpResult
37
{
38
image::Image
output_image;
39
projection::GCP
top_left;
40
projection::GCP
top_right;
41
projection::GCP
bottom_right;
42
projection::GCP
bottom_left;
43
};
44
45
WarpResult
performSmartWarp(
WarpOperation
op,
float
*progress =
nullptr
);
46
}
47
}
satdump::image::Image
Definition
image.h:17
image.h
Core Image class.
satdump::projection::GCP
Definition
thinplatespline.h:50
satdump::warp::WarpOperation
Definition
warp.h:19
satdump::warp::WarpResult
Definition
warp.h:37
src-core
projection
warp
warp.h
Generated by
1.14.0