Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
image.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2015 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 #ifndef LIBREALSENSE_IMAGE_H
6 #define LIBREALSENSE_IMAGE_H
7 
8 #include "types.h"
9 
10 namespace librealsense
11 {
12 
13  size_t get_image_size (int width, int height, rs2_format format);
14  int get_image_bpp (rs2_format format);
15  void deproject_z (float * points, const rs2_intrinsics & z_intrin, const uint16_t * z_pixels, float z_scale);
16  void deproject_disparity (float * points, const rs2_intrinsics & disparity_intrin, const uint16_t * disparity_pixels, float disparity_scale);
17 
18  void align_z_to_other (byte * z_aligned_to_other, const uint16_t * z_pixels, float z_scale, const rs2_intrinsics & z_intrin,
19  const rs2_extrinsics & z_to_other, const rs2_intrinsics & other_intrin);
20  void align_disparity_to_other (byte * disparity_aligned_to_other, const uint16_t * disparity_pixels, float disparity_scale, const rs2_intrinsics & disparity_intrin,
21  const rs2_extrinsics & disparity_to_other, const rs2_intrinsics & other_intrin);
22  void align_other_to_z (byte * other_aligned_to_z, const uint16_t * z_pixels, float z_scale, const rs2_intrinsics & z_intrin,
23  const rs2_extrinsics & z_to_other, const rs2_intrinsics & other_intrin, const byte * other_pixels, rs2_format other_format);
24  void align_other_to_disparity (byte * other_aligned_to_disparity, const uint16_t * disparity_pixels, float disparity_scale, const rs2_intrinsics & disparity_intrin,
25  const rs2_extrinsics & disparity_to_other, const rs2_intrinsics & other_intrin, const byte * other_pixels, rs2_format other_format);
26 
27  std::vector<int> compute_rectification_table (const rs2_intrinsics & rect_intrin, const rs2_extrinsics & rect_to_unrect, const rs2_intrinsics & unrect_intrin);
28  void rectify_image (uint8_t * rect_pixels, const std::vector<int> & rectification_table, const uint8_t * unrect_pixels, rs2_format format);
29 
30  extern const native_pixel_format pf_fe_raw8_unpatched_kernel; // W/O for unpatched kernel
31  extern const native_pixel_format pf_raw8; // 8 bit luminance
32  extern const native_pixel_format pf_rw10; // Four 10 bit luminance values in one 40 bit macropixel
33  extern const native_pixel_format pf_w10; // Four 10 bit luminance values in one 40 bit macropixel
34  extern const native_pixel_format pf_rw16; // 10 bit in 16 bit WORD with 6 bit unused
35  extern const native_pixel_format pf_bayer16; // 16-bit Bayer raw
36  extern const native_pixel_format pf_yuy2; // Y0 U Y1 V ordered chroma subsampled macropixel
37  extern const native_pixel_format pf_yuyv; // Y0 U Y1 V ordered chroma subsampled macropixel
38  extern const native_pixel_format pf_y8; // 8 bit IR/Luminosity (left) imager
39  extern const native_pixel_format pf_y8i; // 8 bits left IR + 8 bits right IR per pixel
40  extern const native_pixel_format pf_y16; // 16 bit (left) IR image
41  extern const native_pixel_format pf_y12i; // 12 bits left IR + 12 bits right IR per pixel
42  extern const native_pixel_format pf_z16; // 16 bit Z + Disparity image
43  extern const native_pixel_format pf_invz; // 16 bit Z image
44  extern const native_pixel_format pf_f200_invi; // 8-bit IR image
45  extern const native_pixel_format pf_f200_inzi; // 16-bit Z + 8 bit IR per pixel
46  extern const native_pixel_format pf_sr300_invi; // 16-bit IR image
47  extern const native_pixel_format pf_sr300_inzi; // Planar 16-bit IR image followed by 16-bit Z image
48  extern const native_pixel_format pf_uyvyl; // U Y0 V Y1 ordered chroma subsampled macropixel for Infrared stream
49  extern const native_pixel_format pf_accel_axes; // Parse accel HID raw data to 3 axes
50  extern const native_pixel_format pf_gyro_axes; // Parse gyro HID raw data to 3 axes
51  extern const native_pixel_format pf_rgb888;
52  extern const native_pixel_format pf_gpio_timestamp; // Parse GPIO timestamp
53  extern const native_pixel_format pf_confidence_l500;
54  extern const native_pixel_format pf_z16_l500;
55  extern const native_pixel_format pf_y8_l500;
56 }
57 
58 #endif
const native_pixel_format pf_z16
void deproject_disparity(float *points, const rs2_intrinsics &disparity_intrin, const uint16_t *disparity_pixels, float disparity_scale)
const native_pixel_format pf_z16_l500
const native_pixel_format pf_bayer16
unsigned char byte
Definition: types.h:33
const native_pixel_format pf_fe_raw8_unpatched_kernel
const native_pixel_format pf_accel_axes
std::vector< int > compute_rectification_table(const rs2_intrinsics &rect_intrin, const rs2_extrinsics &rect_to_unrect, const rs2_intrinsics &unrect_intrin)
const native_pixel_format pf_y8
void align_other_to_z(byte *other_aligned_to_z, const uint16_t *z_pixels, float z_scale, const rs2_intrinsics &z_intrin, const rs2_extrinsics &z_to_other, const rs2_intrinsics &other_intrin, const byte *other_pixels, rs2_format other_format)
const native_pixel_format pf_rw16
size_t get_image_size(int width, int height, rs2_format format)
void align_other_to_disparity(byte *other_aligned_to_disparity, const uint16_t *disparity_pixels, float disparity_scale, const rs2_intrinsics &disparity_intrin, const rs2_extrinsics &disparity_to_other, const rs2_intrinsics &other_intrin, const byte *other_pixels, rs2_format other_format)
const native_pixel_format pf_y8i
Definition: algo.h:16
void align_disparity_to_other(byte *disparity_aligned_to_other, const uint16_t *disparity_pixels, float disparity_scale, const rs2_intrinsics &disparity_intrin, const rs2_extrinsics &disparity_to_other, const rs2_intrinsics &other_intrin)
const native_pixel_format pf_rw10
const native_pixel_format pf_uyvyl
const native_pixel_format pf_yuy2
const native_pixel_format pf_y8_l500
const native_pixel_format pf_y12i
const native_pixel_format pf_w10
rs2_format
Format identifies how binary data is encoded within a frame.
Definition: rs_sensor.h:55
const native_pixel_format pf_y16
void rectify_image(uint8_t *rect_pixels, const std::vector< int > &rectification_table, const uint8_t *unrect_pixels, rs2_format format)
const native_pixel_format pf_confidence_l500
Cross-stream extrinsics: encode the topology describing how the different devices are connected...
Definition: rs_sensor.h:82
const native_pixel_format pf_raw8
void deproject_z(float *points, const rs2_intrinsics &z_intrin, const uint16_t *z_pixels, float z_scale)
const native_pixel_format pf_f200_inzi
const native_pixel_format pf_gyro_axes
const native_pixel_format pf_yuyv
const native_pixel_format pf_rgb888
const native_pixel_format pf_gpio_timestamp
Video stream intrinsics.
Definition: rs_types.h:56
const native_pixel_format pf_sr300_invi
const native_pixel_format pf_f200_invi
const native_pixel_format pf_sr300_inzi
int get_image_bpp(rs2_format format)
const native_pixel_format pf_invz
void align_z_to_other(byte *z_aligned_to_other, const uint16_t *z_pixels, float z_scale, const rs2_intrinsics &z_intrin, const rs2_extrinsics &z_to_other, const rs2_intrinsics &other_intrin)