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
8namespace 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 */
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 */
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}
Definition image.h:17
Core Image class.
Definition thinplatespline.h:50
Definition warp.h:19
Definition warp.h:37