Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
dai::ros::ImageConverter Class Reference

#include <ImageConverter.hpp>

Public Member Functions

ImageMsgs::CameraInfo calibrationToCameraInfo (dai::CalibrationHandler calibHandler, dai::CameraBoardSocket cameraId, int width=-1, int height=-1, Point2f topLeftPixelId=Point2f(), Point2f bottomRightPixelId=Point2f())
 
 ImageConverter (const std::string frameName, bool interleaved)
 
 ImageConverter (bool interleaved)
 
cv::Mat rosMsgtoCvMat (ImageMsgs::Image &inMsg)
 
void toDaiMsg (const ImageMsgs::Image &inMsg, dai::ImgFrame &outData)
 
void toRosMsg (std::shared_ptr< dai::ImgFrame > inData, std::deque< ImageMsgs::Image > &outImageMsgs)
 
ImagePtr toRosMsgPtr (std::shared_ptr< dai::ImgFrame > inData)
 

Private Member Functions

void interleavedToPlanar (const std::vector< uint8_t > &srcData, std::vector< uint8_t > &destData, int w, int h, int numPlanes, int bpp)
 
void planarToInterleaved (const std::vector< uint8_t > &srcData, std::vector< uint8_t > &destData, int w, int h, int numPlanes, int bpp)
 

Private Attributes

bool _daiInterleaved
 
const std::string _frameName = ""
 

Static Private Attributes

static std::unordered_map< dai::RawImgFrame::Type, std::string > encodingEnumMap
 
static std::unordered_map< dai::RawImgFrame::Type, std::string > planarEncodingEnumMap
 

Detailed Description

Definition at line 45 of file ImageConverter.hpp.

Constructor & Destructor Documentation

◆ ImageConverter() [1/2]

dai::ros::ImageConverter::ImageConverter ( const std::string  frameName,
bool  interleaved 
)

Definition at line 26 of file ImageConverter.cpp.

◆ ImageConverter() [2/2]

dai::ros::ImageConverter::ImageConverter ( bool  interleaved)

Definition at line 24 of file ImageConverter.cpp.

Member Function Documentation

◆ calibrationToCameraInfo()

ImageMsgs::CameraInfo dai::ros::ImageConverter::calibrationToCameraInfo ( dai::CalibrationHandler  calibHandler,
dai::CameraBoardSocket  cameraId,
int  width = -1,
int  height = -1,
Point2f  topLeftPixelId = Point2f(),
Point2f  bottomRightPixelId = Point2f() 
)

Definition at line 257 of file ImageConverter.cpp.

◆ interleavedToPlanar()

void dai::ros::ImageConverter::interleavedToPlanar ( const std::vector< uint8_t > &  srcData,
std::vector< uint8_t > &  destData,
int  w,
int  h,
int  numPlanes,
int  bpp 
)
private

Definition at line 217 of file ImageConverter.cpp.

◆ planarToInterleaved()

void dai::ros::ImageConverter::planarToInterleaved ( const std::vector< uint8_t > &  srcData,
std::vector< uint8_t > &  destData,
int  w,
int  h,
int  numPlanes,
int  bpp 
)
private

Definition at line 194 of file ImageConverter.cpp.

◆ rosMsgtoCvMat()

cv::Mat dai::ros::ImageConverter::rosMsgtoCvMat ( ImageMsgs::Image &  inMsg)

TODO(sachin): Add support for ros msg to cv mat since we have some encodings which cv supports but ros doesn't

Definition at line 245 of file ImageConverter.cpp.

◆ toDaiMsg()

void dai::ros::ImageConverter::toDaiMsg ( const ImageMsgs::Image &  inMsg,
dai::ImgFrame &  outData 
)

FIXME(sachin) : is this time convertion correct ??? Print the original time and ros time in seconds in ImageFrame::toRosMsg(std::shared_ptr<dai::ImgFrame> inData, ImageMsgs::Image& opMsg) to cross verify..

Definition at line 135 of file ImageConverter.cpp.

◆ toRosMsg()

void dai::ros::ImageConverter::toRosMsg ( std::shared_ptr< dai::ImgFrame >  inData,
std::deque< ImageMsgs::Image > &  outImageMsgs 
)

Definition at line 28 of file ImageConverter.cpp.

◆ toRosMsgPtr()

ImagePtr dai::ros::ImageConverter::toRosMsgPtr ( std::shared_ptr< dai::ImgFrame >  inData)

Definition at line 181 of file ImageConverter.cpp.

Member Data Documentation

◆ _daiInterleaved

bool dai::ros::ImageConverter::_daiInterleaved
private

Definition at line 73 of file ImageConverter.hpp.

◆ _frameName

const std::string dai::ros::ImageConverter::_frameName = ""
private

Definition at line 75 of file ImageConverter.hpp.

◆ encodingEnumMap

std::unordered_map< dai::RawImgFrame::Type, std::string > dai::ros::ImageConverter::encodingEnumMap
staticprivate
Initial value:
= {{dai::RawImgFrame::Type::YUV422i, "yuv422"},
{dai::RawImgFrame::Type::RGBA8888, "rgba8"},
{dai::RawImgFrame::Type::RGB888i, "rgb8"},
{dai::RawImgFrame::Type::BGR888i, "bgr8"},
{dai::RawImgFrame::Type::GRAY8, "mono8"},
{dai::RawImgFrame::Type::RAW8, "mono8"},
{dai::RawImgFrame::Type::RAW16, "16UC1"},
{dai::RawImgFrame::Type::YUV420p, "YUV420"}}

Definition at line 69 of file ImageConverter.hpp.

◆ planarEncodingEnumMap

std::unordered_map< dai::RawImgFrame::Type, std::string > dai::ros::ImageConverter::planarEncodingEnumMap
staticprivate
Initial value:
= {
{dai::RawImgFrame::Type::BGR888p, "rgb8"},
{dai::RawImgFrame::Type::RGB888p, "rgb8"},
{dai::RawImgFrame::Type::NV12, "rgb8"},
{dai::RawImgFrame::Type::YUV420p, "rgb8"}}

Definition at line 70 of file ImageConverter.hpp.


The documentation for this class was generated from the following files:


depthai_bridge
Author(s): Sachin Guruswamy
autogenerated on Tue May 10 2022 03:01:27