Visual Servoing Platform version 3.7.0
Loading...
Searching...
No Matches
vpImageConvert Class Reference

#include <vpImageConvert.h>

Static Public Member Functions

static void createDepthHistogram (const vpImage< uint16_t > &src_depth, vpImage< vpRGBa > &dest_rgba)
static void createDepthHistogram (const vpImage< uint16_t > &src_depth, vpImage< unsigned char > &dest_depth)
static void createDepthHistogram (const vpImage< float > &src_depth, vpImage< vpRGBa > &dest_depth)
static void createDepthHistogram (const vpImage< float > &src_depth, vpImage< unsigned char > &dest_depth)
static void convert (const vpImage< unsigned char > &src, vpImage< vpRGBa > &dest)
static void convert (const vpImage< vpRGBa > &src, vpImage< unsigned char > &dest, unsigned int nThreads=0)
static void convert (const vpImage< float > &src, vpImage< unsigned char > &dest)
static void convert (const vpImage< vpRGBf > &src, vpImage< vpRGBa > &dest)
static void convert (const vpImage< unsigned char > &src, vpImage< float > &dest)
static void convert (const vpImage< double > &src, vpImage< unsigned char > &dest)
static void convert (const vpImage< unsigned char > &src, vpImage< double > &dest)
static void convert (const vpImage< uint16_t > &src, vpImage< unsigned char > &dest, unsigned char bitshift=8)
static void convert (const vpImage< unsigned char > &src, vpImage< uint16_t > &dest, unsigned char bitshift=8)
template<typename Type>
static void convert (const vpImage< Type > &src, vpImage< Type > &dest)
static void convert (const cv::Mat &src, vpImage< vpRGBa > &dest, bool flip=false)
static void convert (const cv::Mat &src, vpImage< unsigned char > &dest, bool flip=false, unsigned int nThreads=0)
static void convert (const cv::Mat &src, vpImage< float > &dest, bool flip=false)
static void convert (const cv::Mat &src, vpImage< double > &dest, bool flip=false)
static void convert (const cv::Mat &src, vpImage< vpRGBf > &dest, bool flip=false)
static void convert (const cv::Mat &src, vpImage< uint16_t > &dest, bool flip=false)
static void convert (const vpImage< vpRGBa > &src, cv::Mat &dest)
static void convert (const vpImage< unsigned char > &src, cv::Mat &dest, bool copyData=true)
static void convert (const vpImage< float > &src, cv::Mat &dest, bool copyData=true)
static void convert (const vpImage< double > &src, cv::Mat &dest, bool copyData=true)
static void convert (const vpImage< vpRGBf > &src, cv::Mat &dest)
template<typename T, bool useFullScale>
static void convert (const vpImage< vpRGBa > &src, vpImage< vpHSV< T, useFullScale > > &dest)
template<typename T, bool useFullScale>
static void convert (const vpImage< vpHSV< T, useFullScale > > &src, vpImage< vpRGBa > &dest)
template<typename T, typename U, bool useFullScale1, bool useFullScale2>
static std::enable_if<!std::is_same< T, U >::value, void >::type convert (const vpImage< vpHSV< T, useFullScale1 > > &src, vpImage< vpHSV< U, useFullScale2 > > &dest)
static void convert (const vpImage< unsigned char > &src, yarp::sig::ImageOf< yarp::sig::PixelMono > *dest, bool copyData=true)
static void convert (const yarp::sig::ImageOf< yarp::sig::PixelMono > *src, vpImage< unsigned char > &dest, bool copyData=true)
static void convert (const vpImage< vpRGBa > &src, yarp::sig::ImageOf< yarp::sig::PixelRgba > *dest, bool copyData=true)
static void convert (const yarp::sig::ImageOf< yarp::sig::PixelRgba > *src, vpImage< vpRGBa > &dest, bool copyData=true)
static void convert (const vpImage< vpRGBa > &src, yarp::sig::ImageOf< yarp::sig::PixelRgb > *dest)
static void convert (const yarp::sig::ImageOf< yarp::sig::PixelRgb > *src, vpImage< vpRGBa > &dest)
template<typename MaskType>
static std::enable_if< std::is_same< MaskType, unsignedchar >::value||std::is_same< MaskType, bool >::value, int >::type depthToPointCloud (const vpImage< uint16_t > &depth_raw, float depth_scale, const vpCameraParameters &cam_depth, pcl::PointCloud< pcl::PointXYZ >::Ptr pointcloud, std::mutex *pointcloud_mutex=nullptr, const vpImage< MaskType > *depth_mask=nullptr, float Z_min=0.2, float Z_max=2.5)
template<typename MaskType>
static std::enable_if< std::is_same< MaskType, unsignedchar >::value||std::is_same< MaskType, bool >::value, int >::type depthToPointCloud (const vpImage< vpRGBa > &color, const vpImage< uint16_t > &depth_raw, float depth_scale, const vpCameraParameters &cam_depth, pcl::PointCloud< pcl::PointXYZRGB >::Ptr pointcloud, std::mutex *pointcloud_mutex=nullptr, const vpImage< MaskType > *depth_mask=nullptr, float Z_min=0.2, float Z_max=2.5)
static void split (const vpImage< vpRGBa > &src, vpImage< unsigned char > *pR, vpImage< unsigned char > *pG, vpImage< unsigned char > *pB, vpImage< unsigned char > *pa=nullptr)
static void merge (const vpImage< unsigned char > *R, const vpImage< unsigned char > *G, const vpImage< unsigned char > *B, const vpImage< unsigned char > *a, vpImage< vpRGBa > &RGBa)
static void YUVToRGB (unsigned char y, unsigned char u, unsigned char v, unsigned char &r, unsigned char &g, unsigned char &b)
static void YUYVToRGBa (unsigned char *yuyv, unsigned char *rgba, unsigned int width, unsigned int height)
static void YUYVToRGB (unsigned char *yuyv, unsigned char *rgb, unsigned int width, unsigned int height)
static void YUYVToGrey (unsigned char *yuyv, unsigned char *grey, unsigned int size)
static void YUV411ToRGBa (unsigned char *yuv, unsigned char *rgba, unsigned int size)
static void YUV411ToRGB (unsigned char *yuv, unsigned char *rgb, unsigned int size)
static void YUV411ToGrey (unsigned char *yuv, unsigned char *grey, unsigned int size)
static void YUV422ToRGBa (unsigned char *yuv, unsigned char *rgba, unsigned int size)
static void YUV422ToRGB (unsigned char *yuv, unsigned char *rgb, unsigned int size)
static void YUV422ToGrey (unsigned char *yuv, unsigned char *grey, unsigned int size)
static void YUV420ToRGBa (unsigned char *yuv, unsigned char *rgba, unsigned int width, unsigned int height)
static void YUV420ToRGB (unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height)
static void YUV420ToGrey (unsigned char *yuv, unsigned char *grey, unsigned int size)
static void YUV444ToRGBa (unsigned char *yuv, unsigned char *rgba, unsigned int size)
static void YUV444ToRGB (unsigned char *yuv, unsigned char *rgb, unsigned int size)
static void YUV444ToGrey (unsigned char *yuv, unsigned char *grey, unsigned int size)
static void YV12ToRGBa (unsigned char *yuv, unsigned char *rgba, unsigned int width, unsigned int height)
static void YV12ToRGB (unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height)
static void YVU9ToRGBa (unsigned char *yuv, unsigned char *rgba, unsigned int width, unsigned int height)
static void YVU9ToRGB (unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int height)
static void RGBToRGBa (unsigned char *rgb, unsigned char *rgba, unsigned int size)
static void RGBaToRGB (unsigned char *rgba, unsigned char *rgb, unsigned int size)
static void RGBToGrey (unsigned char *rgb, unsigned char *grey, unsigned int width, unsigned int height, bool flip=false)
static void RGBToGrey (unsigned char *rgb, unsigned char *grey, unsigned int size)
static void RGBaToGrey (unsigned char *rgba, unsigned char *grey, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void RGBaToGrey (unsigned char *rgba, unsigned char *grey, unsigned int size)
static void RGBToRGBa (unsigned char *rgb, unsigned char *rgba, unsigned int width, unsigned int height, bool flip=false)
static void GreyToRGBa (unsigned char *grey, unsigned char *rgba, unsigned int width, unsigned int height)
static void GreyToRGBa (unsigned char *grey, unsigned char *rgba, unsigned int size)
static void GreyToRGB (unsigned char *grey, unsigned char *rgb, unsigned int size)
static void BGRToRGBa (unsigned char *bgr, unsigned char *rgba, unsigned int width, unsigned int height, bool flip=false)
static void BGRToGrey (unsigned char *bgr, unsigned char *grey, unsigned int width, unsigned int height, bool flip=false, unsigned int nThreads=0)
static void BGRaToGrey (unsigned char *bgra, unsigned char *grey, unsigned int width, unsigned int height, bool flip=false, unsigned int nThreads=0)
static void BGRaToRGBa (unsigned char *bgra, unsigned char *rgba, unsigned int width, unsigned int height, bool flip=false)
static void YCbCrToRGB (unsigned char *ycbcr, unsigned char *rgb, unsigned int size)
static void YCbCrToRGBa (unsigned char *ycbcr, unsigned char *rgb, unsigned int size)
static void YCbCrToGrey (unsigned char *ycbcr, unsigned char *grey, unsigned int size)
static void YCrCbToRGB (unsigned char *ycrcb, unsigned char *rgb, unsigned int size)
static void YCrCbToRGBa (unsigned char *ycrcb, unsigned char *rgb, unsigned int size)
static void MONO16ToGrey (unsigned char *grey16, unsigned char *grey, unsigned int size)
static void MONO16ToRGBa (unsigned char *grey16, unsigned char *rgba, unsigned int size)
static void HSVToRGBa (const double *hue, const double *saturation, const double *value, unsigned char *rgba, unsigned int size)
static void HSVToRGBa (const unsigned char *hue, const unsigned char *saturation, const unsigned char *value, unsigned char *rgba, unsigned int size, bool h_full=true)
static void RGBaToHSV (const unsigned char *rgba, double *hue, double *saturation, double *value, unsigned int size)
static void RGBaToHSV (const unsigned char *rgba, unsigned char *hue, unsigned char *saturation, unsigned char *value, unsigned int size, bool h_full=true)
static void HSVToRGB (const double *hue, const double *saturation, const double *value, unsigned char *rgb, unsigned int size)
static void HSVToRGB (const unsigned char *hue, const unsigned char *saturation, const unsigned char *value, unsigned char *rgb, unsigned int size, bool h_full=true)
static void RGBToHSV (const unsigned char *rgb, double *hue, double *saturation, double *value, unsigned int size)
static void RGBToHSV (const unsigned char *rgb, unsigned char *hue, unsigned char *saturation, unsigned char *value, unsigned int size, bool h_full=true)
static void demosaicBGGRToRGBaBilinear (const uint8_t *bggr, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicBGGRToRGBaBilinear (const uint16_t *bggr, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGBRGToRGBaBilinear (const uint8_t *gbrg, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGBRGToRGBaBilinear (const uint16_t *gbrg, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGRBGToRGBaBilinear (const uint8_t *grbg, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGRBGToRGBaBilinear (const uint16_t *grbg, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicRGGBToRGBaBilinear (const uint8_t *rggb, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicRGGBToRGBaBilinear (const uint16_t *rggb, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicBGGRToRGBaMalvar (const uint8_t *bggr, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicBGGRToRGBaMalvar (const uint16_t *bggr, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGBRGToRGBaMalvar (const uint8_t *gbrg, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGBRGToRGBaMalvar (const uint16_t *gbrg, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGRBGToRGBaMalvar (const uint8_t *grbg, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicGRBGToRGBaMalvar (const uint16_t *grbg, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicRGGBToRGBaMalvar (const uint8_t *rggb, uint8_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)
static void demosaicRGGBToRGBaMalvar (const uint16_t *rggb, uint16_t *rgba, unsigned int width, unsigned int height, unsigned int nThreads=0)

Detailed Description

Convert image types.

The following example available in tutorial-image-converter.cpp shows how to convert an OpenCV cv::Mat image into a vpImage:

#include <visp3/core/vpConfig.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/io/vpImageIo.h>
#if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_IMGCODECS) && defined(HAVE_OPENCV_IMGPROC)
#include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#endif
int main()
{
#if defined(VISP_HAVE_OPENCV) && defined(HAVE_OPENCV_HIGHGUI) && defined(HAVE_OPENCV_IMGPROC) && defined(HAVE_OPENCV_IMGCODECS)
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
try {
cv::Mat A;
#if VISP_HAVE_OPENCV_VERSION >= 0x030200
int flags = cv::IMREAD_GRAYSCALE | cv::IMREAD_IGNORE_ORIENTATION;
#elif VISP_HAVE_OPENCV_VERSION >= 0x030000
int flags = cv::IMREAD_GRAYSCALE;
#else
int flags = CV_LOAD_IMAGE_GRAYSCALE;
#endif
A = cv::imread("monkey.bmp", flags);
#ifdef VISP_HAVE_PNG
vpImageIo::write(I, "monkey.png"); // Gray
#endif
}
catch (const vpException &e) {
std::cout << "Catch an exception: " << e << std::endl;
}
#endif
}
error that can be emitted by ViSP classes.
Definition vpException.h:60
static void convert(const vpImage< unsigned char > &src, vpImage< vpRGBa > &dest)
static void write(const vpImage< unsigned char > &I, const std::string &filename, int backend=IO_DEFAULT_BACKEND)
Definition of the vpImage class member functions.
Definition vpImage.h:131

Definition at line 114 of file vpImageConvert.h.

Member Function Documentation

◆ BGRaToGrey()

void vpImageConvert::BGRaToGrey ( unsigned char * bgra,
unsigned char * grey,
unsigned int width,
unsigned int height,
bool flip = false,
unsigned int nThreads = 0 )
static

Converts a BGRa image to greyscale. Flips the image vertically if needed. Assumes that grey is already resized.

Note
If flip is false, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]bgra: Pointer to the bitmap containing the 32-bits BGRa data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]width: Image width.
[in]height: Image height.
[in]flip: When true, image is flipped vertically.
[in]nThreads: When > 0, the value is used to set the number of OpenMP threads used for the conversion.
Examples
catchColorConversion.cpp.

Definition at line 801 of file vpImageConvert.cpp.

Referenced by convert().

◆ BGRaToRGBa()

void vpImageConvert::BGRaToRGBa ( unsigned char * bgra,
unsigned char * rgba,
unsigned int width,
unsigned int height,
bool flip = false )
static

Converts a BGRa image to RGBa.

Flips the image vertically if needed. Assumes that rgba is already resized before calling this function.

Note
If flip is false, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]bgra: Pointer to the bitmap containing the 32-bits BGRa data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.
[in]flip: When true, image is flipped vertically.
Examples
catchColorConversion.cpp, and perfColorConversion.cpp.

Definition at line 688 of file vpImageConvert.cpp.

◆ BGRToGrey()

void vpImageConvert::BGRToGrey ( unsigned char * bgr,
unsigned char * grey,
unsigned int width,
unsigned int height,
bool flip = false,
unsigned int nThreads = 0 )
static

Converts a BGR image to greyscale. Flips the image vertically if needed. Assumes that grey is already resized.

Note
If flip is false, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]bgr: Pointer to the bitmap containing the 24-bits BGR data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]width: Image width.
[in]height: Image height.
[in]flip: When true, image is flipped vertically.
[in]nThreads: When > 0, the value is used to set the number of OpenMP threads used for the conversion.
Examples
catchColorConversion.cpp, and perfColorConversion.cpp.

Definition at line 740 of file vpImageConvert.cpp.

Referenced by vpV4l2Grabber::acquire(), convert(), vpRobotBebop2::getGrayscaleImage(), and vpRealSense2::getGreyFrame().

◆ BGRToRGBa()

void vpImageConvert::BGRToRGBa ( unsigned char * bgr,
unsigned char * rgba,
unsigned int width,
unsigned int height,
bool flip = false )
static

Converts a BGR image to RGBa. The alpha component is set to vpRGBa::alpha_default.

Flips the image vertically if needed. Assumes that rgba is already resized.

Note
If flip is false, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]bgr: Pointer to the bitmap containing the 24-bits BGR data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.
[in]flip: When true, image is flipped vertically.
Examples
perfColorConversion.cpp.

Definition at line 637 of file vpImageConvert.cpp.

References vpRGBa::alpha_default.

Referenced by vpV4l2Grabber::acquire(), vpRealSense2::getColorFrame(), and vpRobotBebop2::getRGBaImage().

◆ convert() [1/19]

void vpImageConvert::convert ( const vpImage< double > & src,
vpImage< unsigned char > & dest )
static

Convert a vpImage<double> to a vpImage<unsigned char> by renormalizing between 0 and 255.

Parameters
[in]src: Source image
[out]dest: Destination image.

Definition at line 180 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getMinMaxValue(), and vpImage< Type >::getWidth().

◆ convert() [2/19]

void vpImageConvert::convert ( const vpImage< float > & src,
vpImage< unsigned char > & dest )
static

Convert a vpImage<float> to a vpImage<unsigned char> by renormalizing between 0 and 255.

Parameters
[in]src: Source image
[out]dest: Destination image.

Definition at line 102 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getMinMaxValue(), and vpImage< Type >::getWidth().

◆ convert() [3/19]

template<typename Type>
void vpImageConvert::convert ( const vpImage< Type > & src,
vpImage< Type > & dest )
inlinestatic

Make a copy of an image.

Parameters
src: source image.
dest: destination image.

Definition at line 142 of file vpImageConvert.h.

◆ convert() [4/19]

void vpImageConvert::convert ( const vpImage< uint16_t > & src,
vpImage< unsigned char > & dest,
unsigned char bitshift = 8 )
static

Convert a vpImage<uint16_t> to a vpImage<unsigned char>.

Parameters
[in]src: Source image
[out]dest: Destination image.
[in]bitshift: Right bit shift applied to each source element.

Definition at line 209 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getSize(), and vpImage< Type >::getWidth().

◆ convert() [5/19]

void vpImageConvert::convert ( const vpImage< unsigned char > & src,
vpImage< double > & dest )
static

Convert a vpImage<unsigned char> to a vpImage<double> by basic casting.

Parameters
[in]src: Source image
[out]dest: Destination image.

Definition at line 240 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().

◆ convert() [6/19]

void vpImageConvert::convert ( const vpImage< unsigned char > & src,
vpImage< float > & dest )
static

Convert a vpImage<unsigned char> to a vpImage<float> by basic casting.

Parameters
[in]src: Source image
[out]dest: Destination image.

Definition at line 164 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().

◆ convert() [7/19]

void vpImageConvert::convert ( const vpImage< unsigned char > & src,
vpImage< uint16_t > & dest,
unsigned char bitshift = 8 )
static

Convert a vpImage<unsigned char> to a vpImage<uint16_t>.

Parameters
[in]src: Source image
[out]dest: Destination image.
[in]bitshift: Left bit shift applied to each source element.

Definition at line 225 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getSize(), and vpImage< Type >::getWidth().

◆ convert() [8/19]

void vpImageConvert::convert ( const vpImage< unsigned char > & src,
vpImage< vpRGBa > & dest )
static

Convert a vpImage<unsigned char> to a vpImage<vpRGBa>. Tha alpha component is set to vpRGBa::alpha_default.

Parameters
[in]src: Source image
[out]dest: Destination image.
See also
GreyToRGBa()
Examples
AROgre.cpp, AROgreBasic.cpp, HelloWorldOgre.cpp, HelloWorldOgreAdvanced.cpp, catchArUco.cpp, catchColorConversion.cpp, catchGaussianFilter.cpp, catchRBT.cpp, catchRBTDataset.cpp, grabV4l2MultiCpp11Thread.cpp, perfColorConversion.cpp, perfImageMorphology.cpp, perfImageWarp.cpp, servoPioneerPoint2DDepth.cpp, servoPioneerPoint2DDepthWithoutVpServo.cpp, servoViper850FourPointsKinect.cpp, testConnectedComponents.cpp, testContours.cpp, testConversion.cpp, testDisplayScaled.cpp, testFloodFill.cpp, testGenericTracker.cpp, testHSVtoHSV.cpp, testHSVtoRGBa.cpp, testImageFilter.cpp, testImageNormalizedCorrelation.cpp, testKeyPoint-3.cpp, testKeyPoint-4.cpp, testRGBaToHSV.cpp, testRealSense2_SR300.cpp, testUndistortImage.cpp, trackKltOpencv.cpp, tutorial-apriltag-detector-live-rgbd-realsense.cpp, tutorial-apriltag-detector-live-rgbd-structure-core.cpp, tutorial-apriltag-detector-live.cpp, tutorial-apriltag-detector.cpp, tutorial-barcode-detector-live.cpp, tutorial-blob-tracker-live.cpp, tutorial-bridge-opencv-camera-param.cpp, tutorial-bridge-opencv-image.cpp, tutorial-brightness-adjustment.cpp, tutorial-canny-hsv.cpp, tutorial-canny.cpp, tutorial-circle-hough.cpp, tutorial-compare-auto-gamma.cpp, tutorial-dnn-object-detection-live.cpp, tutorial-face-detector-live-threaded.cpp, tutorial-face-detector-live.cpp, tutorial-grabber-opencv-threaded.cpp, tutorial-grabber-opencv.cpp, tutorial-hsv-range-tuner.cpp, tutorial-hsv-segmentation-pcl-viewer.cpp, tutorial-hsv-segmentation-pcl.cpp, tutorial-hsv-segmentation.cpp, tutorial-ibvs-4pts-ogre-tracking.cpp, tutorial-image-converter.cpp, tutorial-image-filter.cpp, tutorial-klt-tracker-live.cpp, tutorial-klt-tracker-with-reinit.cpp, tutorial-klt-tracker.cpp, tutorial-mb-generic-tracker-apriltag-rs2.cpp, tutorial-mb-generic-tracker-apriltag-webcam.cpp, tutorial-mb-generic-tracker-live.cpp, tutorial-mb-generic-tracker-read.cpp, tutorial-mb-generic-tracker-rgbd-realsense-json.cpp, tutorial-mb-generic-tracker-rgbd-realsense.cpp, tutorial-mb-generic-tracker-rgbd-structure-core.cpp, tutorial-mb-generic-tracker-rgbd.cpp, tutorial-mb-generic-tracker-save.cpp, tutorial-me-ellipse-tracker.cpp, tutorial-me-line-tracker.cpp, tutorial-megapose-live-single-object-tracking.cpp, tutorial-pose-from-points-live.cpp, tutorial-rbt-realsense.cpp, tutorial-rbt-sequence.cpp, tutorial-video-manipulation.cpp, tutorial-video-recorder.cpp, visp-calibrate-camera.cpp, visp-compute-apriltag-poses.cpp, visp-compute-chessboard-poses.cpp, and visp-read-rs-dataset.cpp.

Definition at line 73 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and GreyToRGBa().

Referenced by vpVideoReader::acquire(), vpVideoReader::acquire(), vpKeyPoint::buildReference(), vpKeyPoint::buildReference(), vpImageFilter::canny(), vpMbGenericTracker::computeCurrentProjectionError(), vpImageFilter::computePartialDerivatives(), convert(), convert(), vpCannyEdgeDetection::detect(), vpCircleHoughTransform::detect(), vpDetectorDNNOpenCV::detect(), vpDetectorDNNOpenCV::detect(), vpDetectorDNNOpenCV::detect(), vpDetectorDNNOpenCV::detect(), vpDetectorDNNOpenCV::detect(), vpDetectorDNNOpenCV::detect(), vpDetectorFace::detect(), vpKeyPoint::detect(), vpKeyPoint::detect(), vpKeyPoint::detectExtractAffine(), vpKeyPoint::extract(), vpKeyPoint::extract(), vpVideoReader::getFrame(), vpVideoReader::getFrame(), vpImageFilter::getGaussPyramidal(), vpDisplay::getImage(), vpImageSimulator::init(), vpImageSimulator::init(), vpImageSimulator::init(), vpImageSimulator::init(), vpMbGenericTracker::initClick(), vpMbTracker::initClick(), vpMbTracker::initFromPoints(), vpMbTracker::initFromPoints(), vpMbTracker::initFromPose(), vpMbTracker::initFromPose(), vpMbTracker::initFromPose(), vpKeyPoint::insertImageMatching(), vpKeyPoint::matchPoint(), vpKeyPoint::matchPoint(), vpImageFilter::median(), vpImageFilter::median(), vpMbKltTracker::preTracking(), vpMbKltTracker::reinit(), vpVideoWriter::saveFrame(), vpVideoWriter::saveFrame(), vpMbDepthDenseTracker::setPose(), vpMbDepthNormalTracker::setPose(), vpMbEdgeKltTracker::setPose(), vpMbEdgeTracker::setPose(), vpMbGenericTracker::setPose(), vpMbKltTracker::setPose(), vpImageTools::templateMatching(), vpMbEdgeKltTracker::track(), vpMbEdgeTracker::track(), vpMbGenericTracker::track(), vpMbGenericTracker::track(), vpMbGenericTracker::track(), and vpMbKltTracker::track().

◆ convert() [9/19]

BEGIN_VISP_NAMESPACE void vpImageConvert::convert ( const vpImage< unsigned char > & src,
yarp::sig::ImageOf< yarp::sig::PixelMono > * dest,
bool copyData = true )
static

Convert a vpImage<unsigned char> to a yarp::sig::ImageOf<yarp::sig::PixelMono>

A yarp::sig::Image is a YARP image class. See http://eris.liralab.it/yarpdoc/df/d15/classyarp_1_1sig_1_1Image.html for the YARP image class documentation.

Parameters
[in]src: Source image in ViSP format.
[out]dest: Destination image in YARP format.
[in]copyData: Set to true to copy all the image content. If false we only update the image pointer.
#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/io/vpImageIo.h>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
#if defined(VISP_HAVE_YARP)
vpImage<unsigned char> I; // A monochrome image
// Read an image on a disk
vpImageIo::read(I, "image.pgm");
yarp::sig::ImageOf< yarp::sig::PixelMono > *Iyarp = new yarp::sig::ImageOf<yarp::sig::PixelMono >();
// Convert the vpImage<unsigned char> to a yarp::sig::ImageOf<yarp::sig::PixelMono>
// ...
#endif
}
static void read(vpImage< unsigned char > &I, const std::string &filename, int backend=IO_DEFAULT_BACKEND)

Definition at line 82 of file vpImageConvert_yarp.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getCols(), vpImage< Type >::getHeight(), vpImage< Type >::getRows(), and vpImage< Type >::getWidth().

◆ convert() [10/19]

template<typename T, bool useFullScale>
void vpImageConvert::convert ( const vpImage< vpHSV< T, useFullScale > > & src,
vpImage< vpRGBa > & dest )
static

Convert an HSV image into a RGBa image.

Template Parameters
TThe type of the channels of the vpHSV pixels.
useFullScaleTrue if vpHSV uses unsigned char and the full range [0; 255], false if vpHSV uses unsigned char and the limited range [0; 180].
Parameters
[in]srcThe HSV image.
[in]destThe RGBa image.

Definition at line 644 of file vpImageConvert.h.

◆ convert() [11/19]

template<typename T, typename U, bool useFullScale1, bool useFullScale2>
std::enable_if<!std::is_same< T, U >::value, void >::type vpImageConvert::convert ( const vpImage< vpHSV< T, useFullScale1 > > & src,
vpImage< vpHSV< U, useFullScale2 > > & dest )
inlinestatic

◆ convert() [12/19]

void vpImageConvert::convert ( const vpImage< vpRGBa > & src,
vpImage< unsigned char > & dest,
unsigned int nThreads = 0 )
static

Convert a vpImage<vpRGBa> to a vpImage<unsigned char>

Parameters
[in]src: Source image
[out]dest: Destination image.
[in]nThreads: Number of threads to use if OpenMP is available. If 0 is passed, OpenMP will choose the number of threads.
See also
RGBaToGrey()

Definition at line 89 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and RGBaToGrey().

◆ convert() [13/19]

template<typename T, bool useFullScale>
void vpImageConvert::convert ( const vpImage< vpRGBa > & src,
vpImage< vpHSV< T, useFullScale > > & dest )
static

Convert a RGBa image into a HSV image.

Template Parameters
TThe type of the channels of the vpHSV pixels.
useFullScaleTrue if vpHSV uses unsigned char and the full range [0; 255], false if vpHSV uses unsigned char and the limited range [0; 180].
Parameters
[in]srcThe RGBa image.
[in]destThe HSV image.

Definition at line 622 of file vpImageConvert.h.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().

◆ convert() [14/19]

void vpImageConvert::convert ( const vpImage< vpRGBa > & src,
yarp::sig::ImageOf< yarp::sig::PixelRgb > * dest )
static

Convert a vpImage<vpRGBa> to a yarp::sig::ImageOf<yarp::sig::PixelRgb>

A yarp::sig::Image is a YARP image class. See http://eris.liralab.it/yarpdoc/df/d15/classyarp_1_1sig_1_1Image.html for the YARP image class documentation.

Parameters
[in]src: Source image in ViSP format.
[out]dest: Destination image in YARP format.
#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/core/vpRGBa.h>
#include <visp3/io/vpImageIo.h>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
#if defined(VISP_HAVE_YARP)
vpImage<vpRGBa> I; // A color image
// Read an image on a disk
vpImageIo::read(I,"image.jpg");
yarp::sig::ImageOf< yarp::sig::PixelRgb > *Iyarp = new yarp::sig::ImageOf<yarp::sig::PixelRgb >();
// Convert the vpImage<vpRGBa> to a yarp::sig::ImageOf<yarp::sig::PixelRgb>
// ...
#endif
}

Definition at line 293 of file vpImageConvert_yarp.cpp.

References vpImage< Type >::getHeight(), vpImage< Type >::getRows(), and vpImage< Type >::getWidth().

◆ convert() [15/19]

void vpImageConvert::convert ( const vpImage< vpRGBa > & src,
yarp::sig::ImageOf< yarp::sig::PixelRgba > * dest,
bool copyData = true )
static

Convert a vpImage<vpRGBa> to a yarp::sig::ImageOf<yarp::sig::PixelRgba>

A yarp::sig::Image is a YARP image class. See http://eris.liralab.it/yarpdoc/df/d15/classyarp_1_1sig_1_1Image.html for the YARP image class documentation.

Parameters
[in]src: Source image in ViSP format.
[in]dest: Destination image in YARP format.
[in]copyData: Set to true to copy all the image content. If false we only update the image pointer.
#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/core/vpRGBa.h>
#include <visp3/io/vpImageIo.h>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
#if defined(VISP_HAVE_YARP)
vpImage<vpRGBa> I; // A color image
// Read an image on a disk
vpImageIo::read(I,"image.jpg");
yarp::sig::ImageOf< yarp::sig::PixelRgba > *Iyarp = new yarp::sig::ImageOf<yarp::sig::PixelRgba >();
// Convert the vpImage<vpRGBa> to a yarp::sig::ImageOf<yarp::sig::PixelRgba>
// ...
#endif
}

Definition at line 190 of file vpImageConvert_yarp.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getCols(), vpImage< Type >::getHeight(), vpImage< Type >::getRows(), and vpImage< Type >::getWidth().

◆ convert() [16/19]

void vpImageConvert::convert ( const vpImage< vpRGBf > & src,
vpImage< vpRGBa > & dest )
static

Convert a vpImage<vpRGBf> to a vpImage<unsigned char> by renormalizing between 0 and 255.

Parameters
[in]src: Source image
[out]dest: Destination image.

Definition at line 131 of file vpImageConvert.cpp.

References vpImage< Type >::getHeight(), vpImage< Type >::getMinMaxValue(), and vpImage< Type >::getWidth().

◆ convert() [17/19]

void vpImageConvert::convert ( const yarp::sig::ImageOf< yarp::sig::PixelMono > * src,
vpImage< unsigned char > & dest,
bool copyData = true )
static

Convert a yarp::sig::ImageOf<yarp::sig::PixelMono> to a vpImage<unsigned char>

A yarp::sig::Image is a YARP image class. See http://eris.liralab.it/yarpdoc/df/d15/classyarp_1_1sig_1_1Image.html for the YARP image class documentation.

Parameters
[in]src: Source image in YARP format.
[out]dest: Destination image in ViSP format.
[in]copyData: Set to true to copy all the image content. If false we only update the image pointer.
#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/io/vpImageIo.h>
#if defined(VISP_HAVE_YARP)
#include <yarp/sig/ImageFile.h>
#endif
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
#if defined(VISP_HAVE_YARP)
yarp::sig::ImageOf< yarp::sig::PixelMono > *Iyarp = new yarp::sig::ImageOf<yarp::sig::PixelMono >();
// Read an image on a disk
yarp::sig::file::read(*Iyarp, "image.pgm");
// Convert the yarp::sig::ImageOf<yarp::sig::PixelMono> to a vpImage<unsigned char>
// ...
#endif
}

Definition at line 140 of file vpImageConvert_yarp.cpp.

◆ convert() [18/19]

void vpImageConvert::convert ( const yarp::sig::ImageOf< yarp::sig::PixelRgb > * src,
vpImage< vpRGBa > & dest )
static

Convert a yarp::sig::ImageOf<yarp::sig::PixelRgb> to a vpImage<vpRGBa>

A yarp::sig::Image is a YARP image class. See http://eris.liralab.it/yarpdoc/df/d15/classyarp_1_1sig_1_1Image.html for the YARP image class documentation.

The alpha component of the resulting image is set to vpRGBa::alpha_default.

Parameters
[in]src: Source image in YARP format.
[out]dest: Destination image in ViSP format.
#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/core/vpRGBa.h>
#include <visp3/io/vpImageIo.h>
#if defined(VISP_HAVE_YARP)
#include <yarp/sig/ImageFile.h>
#endif
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
#if defined(VISP_HAVE_YARP)
yarp::sig::ImageOf< yarp::sig::PixelRgb > *Iyarp = new yarp::sig::ImageOf<yarp::sig::PixelRgb >();
// Read an image on a disk
yarp::sig::file::read(*Iyarp,"image.pgm");
// Convert the yarp::sig::ImageOf<yarp::sig::PixelRgb> to a vpImage<vpRGBa>
// ...
#endif
}

Definition at line 348 of file vpImageConvert_yarp.cpp.

References vpRGBa::alpha_default.

◆ convert() [19/19]

void vpImageConvert::convert ( const yarp::sig::ImageOf< yarp::sig::PixelRgba > * src,
vpImage< vpRGBa > & dest,
bool copyData = true )
static

Convert a yarp::sig::ImageOf<yarp::sig::PixelRgba> to a vpImage<vpRGBa>

A yarp::sig::Image is a YARP image class. See http://eris.liralab.it/yarpdoc/df/d15/classyarp_1_1sig_1_1Image.html for the YARP image class documentation.

Parameters
[in]src: Source image in YARP format.
[out]dest: Destination image in ViSP format.
[in]copyData: Set to true to copy all the image content. If false we only update the image pointer.
#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/core/vpRGBa.h>
#include <visp3/io/vpImageIo.h>
#if defined(VISP_HAVE_YARP)
#include <yarp/sig/ImageFile.h>
#endif
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
#if defined(VISP_HAVE_YARP)
yarp::sig::ImageOf< yarp::sig::PixelRgba > *Iyarp = new yarp::sig::ImageOf<yarp::sig::PixelRgba >();
// Read an image on a disk
yarp::sig::file::read(*Iyarp,"image.pgm");
// Convert the yarp::sig::ImageOf<yarp::sig::PixelRgba> to a vpImage<vpRGBa>
// ...
#endif
}

Definition at line 243 of file vpImageConvert_yarp.cpp.

◆ createDepthHistogram() [1/4]

void vpImageConvert::createDepthHistogram ( const vpImage< float > & src_depth,
vpImage< unsigned char > & dest_depth )
static

Convert the input float depth image to a 8-bits depth image. The input depth value is assigned a value proportional to its frequency.

Parameters
[in]src_depth: Input float depth image.
[out]dest_depth: Output grayscale depth image.

Definition at line 291 of file vpImageConvert.cpp.

◆ createDepthHistogram() [2/4]

void vpImageConvert::createDepthHistogram ( const vpImage< float > & src_depth,
vpImage< vpRGBa > & dest_rgba )
static

Convert the input float depth image to a color depth image. The input depth value is assigned a color value proportional to its frequency. The alpha component of the resulting image is set to vpRGBa::alpha_default.

Parameters
[in]src_depth: Input float depth image.
[out]dest_rgba: Output color depth image.

Definition at line 280 of file vpImageConvert.cpp.

◆ createDepthHistogram() [3/4]

void vpImageConvert::createDepthHistogram ( const vpImage< uint16_t > & src_depth,
vpImage< unsigned char > & dest_depth )
static

Convert the input 16-bits depth image to a 8-bits depth image. The input depth value is assigned a value proportional to its frequency.

Parameters
[in]src_depth: Input 16-bits depth image.
[out]dest_depth: Output grayscale depth image.

Definition at line 268 of file vpImageConvert.cpp.

◆ createDepthHistogram() [4/4]

◆ demosaicBGGRToRGBaBilinear() [1/2]

void vpImageConvert::demosaicBGGRToRGBaBilinear ( const uint16_t * bggr,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]bggr: Array of Bayer data arranged into BGGR pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1442 of file vpImageConvert.cpp.

◆ demosaicBGGRToRGBaBilinear() [2/2]

void vpImageConvert::demosaicBGGRToRGBaBilinear ( const uint8_t * bggr,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]bggr: Array of Bayer data arranged into BGGR pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1424 of file vpImageConvert.cpp.

◆ demosaicBGGRToRGBaMalvar() [1/2]

void vpImageConvert::demosaicBGGRToRGBaMalvar ( const uint16_t * bggr,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]bggr: Array of Bayer data arranged into BGGR pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1588 of file vpImageConvert.cpp.

◆ demosaicBGGRToRGBaMalvar() [2/2]

void vpImageConvert::demosaicBGGRToRGBaMalvar ( const uint8_t * bggr,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]bggr: Array of Bayer data arranged into BGGR pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1570 of file vpImageConvert.cpp.

◆ demosaicGBRGToRGBaBilinear() [1/2]

void vpImageConvert::demosaicGBRGToRGBaBilinear ( const uint16_t * gbrg,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]gbrg: Array of Bayer data arranged into GBRG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1478 of file vpImageConvert.cpp.

◆ demosaicGBRGToRGBaBilinear() [2/2]

void vpImageConvert::demosaicGBRGToRGBaBilinear ( const uint8_t * gbrg,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]gbrg: Array of Bayer data arranged into GBRG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1460 of file vpImageConvert.cpp.

◆ demosaicGBRGToRGBaMalvar() [1/2]

void vpImageConvert::demosaicGBRGToRGBaMalvar ( const uint16_t * gbrg,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]gbrg: Array of Bayer data arranged into GBRG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1624 of file vpImageConvert.cpp.

◆ demosaicGBRGToRGBaMalvar() [2/2]

void vpImageConvert::demosaicGBRGToRGBaMalvar ( const uint8_t * gbrg,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]gbrg: Array of Bayer data arranged into GBRG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1606 of file vpImageConvert.cpp.

◆ demosaicGRBGToRGBaBilinear() [1/2]

void vpImageConvert::demosaicGRBGToRGBaBilinear ( const uint16_t * grbg,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]grbg: Array of Bayer data arranged into GRBG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1514 of file vpImageConvert.cpp.

◆ demosaicGRBGToRGBaBilinear() [2/2]

void vpImageConvert::demosaicGRBGToRGBaBilinear ( const uint8_t * grbg,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]grbg: Array of Bayer data arranged into GRBG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1496 of file vpImageConvert.cpp.

◆ demosaicGRBGToRGBaMalvar() [1/2]

void vpImageConvert::demosaicGRBGToRGBaMalvar ( const uint16_t * grbg,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]grbg: Array of Bayer data arranged into GRBG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1660 of file vpImageConvert.cpp.

◆ demosaicGRBGToRGBaMalvar() [2/2]

void vpImageConvert::demosaicGRBGToRGBaMalvar ( const uint8_t * grbg,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]grbg: Array of Bayer data arranged into GRBG pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1642 of file vpImageConvert.cpp.

◆ demosaicRGGBToRGBaBilinear() [1/2]

void vpImageConvert::demosaicRGGBToRGBaBilinear ( const uint16_t * rggb,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]rggb: Array of Bayer data arranged into RGGB pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1550 of file vpImageConvert.cpp.

◆ demosaicRGGBToRGBaBilinear() [2/2]

void vpImageConvert::demosaicRGGBToRGBaBilinear ( const uint8_t * rggb,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using bilinear demosaicing method.

Parameters
[in]rggb: Array of Bayer data arranged into RGGB pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1532 of file vpImageConvert.cpp.

◆ demosaicRGGBToRGBaMalvar() [1/2]

void vpImageConvert::demosaicRGGBToRGBaMalvar ( const uint16_t * rggb,
uint16_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint16 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]rggb: Array of Bayer data arranged into RGGB pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.

Definition at line 1696 of file vpImageConvert.cpp.

◆ demosaicRGGBToRGBaMalvar() [2/2]

void vpImageConvert::demosaicRGGBToRGBaMalvar ( const uint8_t * rggb,
uint8_t * rgba,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Converts an array of uint8 Bayer data to an array of interleaved R, G, B and A values using Malvar [31] demosaicing method.

Parameters
[in]rggb: Array of Bayer data arranged into RGGB pattern.
[out]rgba: Array of R, G, B and A values converted from Bayer image.
[in]width: Bayer image width.
[in]height: Bayer image height.
[in]nThreads: Number of OpenMP threads to use if available.
Note
rgba array must be preallocated beforehand. Alpha channel is left as-is.
Examples
catchColorConversion.cpp.

Definition at line 1678 of file vpImageConvert.cpp.

◆ GreyToRGB()

void vpImageConvert::GreyToRGB ( unsigned char * grey,
unsigned char * rgb,
unsigned int size )
static

Convert from grey image to linear RGB image.

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]grey: Pointer to the bitmap containing the 8-bits grey data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]size: Image size corresponding to image width * height.

Definition at line 598 of file vpImageConvert.cpp.

◆ GreyToRGBa() [1/2]

void vpImageConvert::GreyToRGBa ( unsigned char * grey,
unsigned char * rgba,
unsigned int size )
static

Convert from grey image to linear RGBa image. The alpha component is set to vpRGBa::alpha_default.

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]grey: Pointer to the bitmap containing the 8-bits grey data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to image width * height.

Definition at line 563 of file vpImageConvert.cpp.

References vpRGBa::alpha_default, and GreyToRGBa().

◆ GreyToRGBa() [2/2]

void vpImageConvert::GreyToRGBa ( unsigned char * grey,
unsigned char * rgba,
unsigned int width,
unsigned int height )
static

Convert from grey image to linear RGBa image. The alpha component is set to vpRGBa::alpha_default.

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]grey: Pointer to the bitmap containing the 8-bits grey data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.

Definition at line 542 of file vpImageConvert.cpp.

References vpRGBa::alpha_default, and GreyToRGBa().

Referenced by vp1394CMUGrabber::acquire(), vp1394TwoGrabber::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpV4l2Grabber::acquire(), convert(), vp1394TwoGrabber::dequeue(), GreyToRGBa(), and GreyToRGBa().

◆ HSVToRGB() [1/2]

void vpImageConvert::HSVToRGB ( const double * hue,
const double * saturation,
const double * value,
unsigned char * rgb,
unsigned int size )
static

Converts an array of hue, saturation and value to an array of RGB values.

Parameters
[in]hue: Array of hue values in range [0,1]. The dimension of this array corresponds to size parameter.
[in]saturation: Array of saturation values in range [0,1]. The dimension of this array corresponds to size parameter.
[in]value: Array of value values in range [0,1]. The dimension of this array corresponds to size parameter.
[out]rgb: Pointer to the 24-bit RGB image that should be allocated prior to calling this function with a size of width * height * 3 where width * height corresponds to size parameter.
[in]size: The image size or the number of pixels corresponding to the image width * height.
Examples
catchColorConversion.cpp, and testDisplayPolygonLines.cpp.

Definition at line 516 of file vpImageConvert_hsv.cpp.

◆ HSVToRGB() [2/2]

void vpImageConvert::HSVToRGB ( const unsigned char * hue,
const unsigned char * saturation,
const unsigned char * value,
unsigned char * rgb,
unsigned int size,
bool h_full = true )
static

Converts an array of hue, saturation and value to an array of RGB values.

Parameters
[in]hue: Array of hue values. Range depends on h_full parameter. The dimension of this array corresponds to size parameter.
[in]saturation: Array of saturation values in range [0,255]. The dimension of this array corresponds to size parameter.
[in]value: Array of value values in range [0,255]. The dimension of this array corresponds to size parameter.
[out]rgb: Pointer to the 24-bit RGB image that should be allocated prior to calling this function with a size of width * height * 3 where width * height corresponds to size parameter.
[in]size: The image size or the number of pixels corresponding to the image width * height.
[in]h_full: When true, hue range is in [0, 255]. When false, hue range is in [0, 180].

Definition at line 537 of file vpImageConvert_hsv.cpp.

◆ HSVToRGBa() [1/2]

void vpImageConvert::HSVToRGBa ( const double * hue,
const double * saturation,
const double * value,
unsigned char * rgba,
unsigned int size )
static

Converts an array of hue, saturation and value (HSV) to an array of RGBa values.

Alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]hue: Array of hue values in range [0,1].
[in]saturation: Array of saturation values in range [0,1].
[in]value: Array of value values in range [0,1].
[out]rgba: Pointer to the 32-bit RGBa image that should be allocated prior to calling this function with a size of width * height * 4. Alpha channel is here set to vpRGBa::alpha_default.
[in]size: The image size or the number of pixels corresponding to the image width * height.
Examples
catchColorConversion.cpp, and testConversion.cpp.

Definition at line 429 of file vpImageConvert_hsv.cpp.

Referenced by VISP_NAMESPACE_NAME::equalizeHistogram(), VISP_NAMESPACE_NAME::gammaCorrection(), and VISP_NAMESPACE_NAME::stretchContrastHSV().

◆ HSVToRGBa() [2/2]

void vpImageConvert::HSVToRGBa ( const unsigned char * hue,
const unsigned char * saturation,
const unsigned char * value,
unsigned char * rgba,
unsigned int size,
bool h_full = true )
static

Converts an array of hue, saturation and value (HSV) to an array of RGBa values.

Alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]hue: Array of hue values. Range depends on h_full parameter.
[in]saturation: Array of saturation values in range [0,255].
[in]value: Array of value values in range [0,255].
[out]rgba: Pointer to the 32-bit RGBa image that should be allocated prior to calling this function with a size of width * height * 4. Alpha channel is here set to vpRGBa::alpha_default.
[in]size: The image size or the number of pixels corresponding to the image width * height.
[in]h_full: When true, hue range is in [0, 255]. When false, hue range is in [0, 180].

Definition at line 450 of file vpImageConvert_hsv.cpp.

◆ merge()

void vpImageConvert::merge ( const vpImage< unsigned char > * R,
const vpImage< unsigned char > * G,
const vpImage< unsigned char > * B,
const vpImage< unsigned char > * a,
vpImage< vpRGBa > & RGBa )
static

Merge 4 channels into an RGBa image.

Parameters
[in]R: Red channel.
[in]G: Green channel.
[in]B: Blue channel.
[in]a: Alpha channel.
[out]RGBa: Destination RGBa image. Image is resized internally if needed.
Note
If R, G, B, a are provided, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Examples
catchColorConversion.cpp, grabV4l2MultiCpp11Thread.cpp, perfColorConversion.cpp, testConversion.cpp, and tutorial-hsv-range-tuner.cpp.

Definition at line 1294 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpException::dimensionError, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().

Referenced by VISP_NAMESPACE_NAME::gammaCorrection().

◆ MONO16ToGrey()

void vpImageConvert::MONO16ToGrey ( unsigned char * grey16,
unsigned char * grey,
unsigned int size )
static

Converts a MONO16 grey scale image (each pixel is coded by two bytes) into a grey image where each pixels are coded on one byte.

Parameters
[in]grey16: Input image to convert (two bytes per pixel).
[out]grey: Pointer to the 8-bit grey image (one byte per pixel) that should be allocated with a size of width * height.
[in]size: The image size or the number of pixels corresponding to the image width * height.

Definition at line 1370 of file vpImageConvert.cpp.

Referenced by vp1394CMUGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ MONO16ToRGBa()

void vpImageConvert::MONO16ToRGBa ( unsigned char * grey16,
unsigned char * rgba,
unsigned int size )
static

Converts a MONO16 grey scale image (each pixel is coded by two bytes) into a grey image where each pixels are coded on one byte.

Alpha component is set to vpRGBa::alpha_default.

Parameters
[in]grey16: Pointer to the bitmap containing the input image to convert (two bytes per pixel).
[out]rgba: Pointer to the 32-bit RGBA image that should be allocated with a size of width * height * 4.
[in]size: The image size or the number of pixels corresponding to the image width * height.

Definition at line 1394 of file vpImageConvert.cpp.

References vpRGBa::alpha_default.

Referenced by vp1394CMUGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ RGBaToGrey() [1/2]

void vpImageConvert::RGBaToGrey ( unsigned char * rgba,
unsigned char * grey,
unsigned int size )
static

Convert a RGBa image to a greyscale one.

See Charles Pontyon's Colour FAQ http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]rgba: Pointer to the 32-bits RGBA bitmap.
[out]grey: Pointer to the bitmap containing the 8-bits grey data that should be allocated with a size of width * height.
[in]size: Image size corresponding to image width * height.

Definition at line 511 of file vpImageConvert.cpp.

◆ RGBaToGrey() [2/2]

void vpImageConvert::RGBaToGrey ( unsigned char * rgba,
unsigned char * grey,
unsigned int width,
unsigned int height,
unsigned int nThreads = 0 )
static

Convert a RGBa image to a grey scale one.

See Charles Pontyon's Colour FAQ http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]rgba: Pointer to the 32-bits RGBA bitmap.
[out]grey: Pointer to the bitmap containing the 8-bits grey data that should be allocated with a size of width * height.
[in]width: Image width.
[in]height: Image height.
[in]nThreads: When > 0, the value is used to set the number of OpenMP threads used for the conversion.

Definition at line 475 of file vpImageConvert.cpp.

References RGBaToGrey().

Referenced by vpV4l2Grabber::acquire(), convert(), vpRealSense2::getGreyFrame(), and RGBaToGrey().

◆ RGBaToHSV() [1/2]

void vpImageConvert::RGBaToHSV ( const unsigned char * rgba,
double * hue,
double * saturation,
double * value,
unsigned int size )
static

Converts an array of RGBa to an array of hue, saturation, value (HSV) values. The alpha channel is not used.

Parameters
[in]rgba: Pointer to the 32-bits RGBa bitmap.
[out]hue: Array of hue values converted from RGB color space in range [0 - 1]. This array of dimension size should be allocated prior to calling this function.
[out]saturation: Array of saturation values converted from RGB color space in range [0 - 1]. This array of dimension size should be allocated prior to calling this function.
[out]value: Array of value values converted from RGB color space in range [0 - 1]. This array of dimension size should be allocated prior to calling this function.
[in]size: The image size or the number of pixels corresponding to the image width * height.
See also
To see how to use it can be used, you can have a look at Tutorial: Introduction to color segmentation using HSV color scale
Examples
catchColorConversion.cpp, testConversion.cpp, tutorial-hsv-range-tuner.cpp, tutorial-hsv-segmentation-pcl-viewer.cpp, tutorial-hsv-segmentation-pcl.cpp, and tutorial-hsv-segmentation.cpp.

Definition at line 472 of file vpImageConvert_hsv.cpp.

Referenced by VISP_NAMESPACE_NAME::equalizeHistogram(), VISP_NAMESPACE_NAME::gammaCorrection(), and VISP_NAMESPACE_NAME::stretchContrastHSV().

◆ RGBaToHSV() [2/2]

void vpImageConvert::RGBaToHSV ( const unsigned char * rgba,
unsigned char * hue,
unsigned char * saturation,
unsigned char * value,
unsigned int size,
bool h_full = true )
static

Converts an array of RGBa to an array of hue, saturation, value (HSV) values. The alpha channel is not used.

Parameters
[in]rgba: Pointer to the 32-bits RGBA bitmap that has a dimension of size * 4.
[out]hue: Array of hue values converted from RGB color space. Range depends on h_full parameter. This array of dimension size should be allocated prior to calling this function.
[out]saturation: Array of saturation values converted from RGB color space in range [0 - 255]. This array of dimension size should be allocated prior to calling this function.
[out]value: Array of value values converted from RGB color space in range [0 - 255]. This array of dimension size should be allocated prior to calling this function.
[in]size: The image size or the number of pixels corresponding to the image width * height.
[in]h_full: When true, hue range is in [0, 255]. When false, hue range is in [0, 180].
See also
To see how to use it can be used, you can have a look at Tutorial: Introduction to color segmentation using HSV color scale
vpImageTools::inRange()

Definition at line 496 of file vpImageConvert_hsv.cpp.

◆ RGBaToRGB()

void vpImageConvert::RGBaToRGB ( unsigned char * rgba,
unsigned char * rgb,
unsigned int size )
static

Convert RGB image into RGBa image.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]rgba: Pointer to the 32-bits RGBA bitmap.
[out]rgb: Pointer to the bitmap containing the 24-bits RGB data that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to image width * height.
Examples
catchColorConversion.cpp, testConversion.cpp, and tutorial-npz.cpp.

Definition at line 373 of file vpImageConvert.cpp.

◆ RGBToGrey() [1/2]

void vpImageConvert::RGBToGrey ( unsigned char * rgb,
unsigned char * grey,
unsigned int size )
static

Convert an RGB image to a grey scale one.

See Charles Pontyon's Colour FAQ http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html

Parameters
[in]rgb: Pointer to the 24-bits RGB bitmap.
[out]grey: Pointer to the bitmap containing the 8-bits grey data that should be allocated with a size of width * height.
[in]size: Image size corresponding to image width * height.

Definition at line 403 of file vpImageConvert.cpp.

References RGBToGrey().

◆ RGBToGrey() [2/2]

void vpImageConvert::RGBToGrey ( unsigned char * rgb,
unsigned char * grey,
unsigned int width,
unsigned int height,
bool flip = false )
static

Converts a RGB image to a grey scale one. Flips the image vertically if needed. Assumes that grey is already resized.

Note
If flip is false, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]rgb: Pointer to the 24-bits RGB bitmap.
[out]grey: Pointer to the bitmap containing the 8-bits grey data that should be allocated with a size of width * height.
[in]width: Image width.
[in]height: Image height.
[in]flip: When true, image is flipped vertically.
Examples
catchColorConversion.cpp, and testConversion.cpp.

Definition at line 422 of file vpImageConvert.cpp.

Referenced by vp1394CMUGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::dequeue(), vpRealSense2::getGreyFrame(), vpSimulator::getInternalImage(), and RGBToGrey().

◆ RGBToHSV() [1/2]

void vpImageConvert::RGBToHSV ( const unsigned char * rgb,
double * hue,
double * saturation,
double * value,
unsigned int size )
static

Converts an array of RGB to an array of hue, saturation, value values.

Parameters
[in]rgb: Pointer to the 24-bits RGB bitmap. Its size corresponds to size * 3.
[out]hue: Array of hue values in range [0,1] converted from RGB color space. This array should be allocated prior to calling this function. Its size corresponds to size parameter.
[out]saturation: Array of saturation values in range [0,1] converted from RGB color space. This array should be allocated prior to calling this function. Its size corresponds to size parameter.
[out]value: Array of value values in range [0,1] converted from RGB color space. This array should be allocated prior to calling this function. Its size corresponds to size parameter.
[in]size: The image size or the number of pixels corresponding to the image width * height.
Examples
catchColorConversion.cpp.

Definition at line 556 of file vpImageConvert_hsv.cpp.

◆ RGBToHSV() [2/2]

void vpImageConvert::RGBToHSV ( const unsigned char * rgb,
unsigned char * hue,
unsigned char * saturation,
unsigned char * value,
unsigned int size,
bool h_full = true )
static

Converts an array of RGB to an array of hue, saturation, value values.

Parameters
[in]rgb: Pointer to the 24-bits RGB bitmap. Its size corresponds to size * 3.
[out]hue: Array of hue values converted from RGB color space. Range depends on h_full parameter. This array should be allocated prior to calling this function. Its size corresponds to size parameter.
[out]saturation: Array of saturation values in range [0,255] converted from RGB color space. This array should be allocated prior to calling this function. Its size corresponds to size parameter.
[out]value: Array of value values in range [0,255] converted from RGB color space. This array should be allocated prior to calling this function. Its size corresponds to size parameter.
[in]size: The image size or the number of pixels corresponding to the image width * height.
[in]h_full: When true, hue range is in [0, 255]. When false, hue range is in [0, 180].
See also
vpImageTools::inRange()

Definition at line 578 of file vpImageConvert_hsv.cpp.

◆ RGBToRGBa() [1/2]

void vpImageConvert::RGBToRGBa ( unsigned char * rgb,
unsigned char * rgba,
unsigned int size )
static

Convert RGB into RGBa.

Alpha component is set to vpRGBa::alpha_default.

Parameters
[in]rgb: Pointer to the bitmap containing the 24-bits RGB data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to image width * height.
Examples
catchColorConversion.cpp, and tutorial-npz.cpp.

Definition at line 305 of file vpImageConvert.cpp.

References RGBToRGBa().

Referenced by vp1394CMUGrabber::acquire(), vp1394TwoGrabber::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpOccipitalStructure::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::dequeue(), vpRealSense2::getColorFrame(), vpSimulator::getInternalImage(), and RGBToRGBa().

◆ RGBToRGBa() [2/2]

void vpImageConvert::RGBToRGBa ( unsigned char * rgb,
unsigned char * rgba,
unsigned int width,
unsigned int height,
bool flip = false )
static

Converts a RGB image to RGBa. Alpha component is set to vpRGBa::alpha_default.

Flips the image vertically if needed. Assumes that rgba is already resized.

Note
If flip is false, the SIMD lib is used to accelerate processing on x86 and ARM architecture.
Parameters
[in]rgb: Pointer to the bitmap containing the 24-bits RGB data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.
[in]flip: When true, image is flipped vertically.

Definition at line 326 of file vpImageConvert.cpp.

References vpRGBa::alpha_default.

◆ split()

void vpImageConvert::split ( const vpImage< vpRGBa > & src,
vpImage< unsigned char > * pR,
vpImage< unsigned char > * pG,
vpImage< unsigned char > * pB,
vpImage< unsigned char > * pa = nullptr )
static

Split an image from vpRGBa format to monochrome channels.

Parameters
[in]src: source image.
[out]pR: red channel. Set as nullptr if not needed.
[out]pG: green channel. Set as nullptr if not needed.
[out]pB: blue channel. Set as nullptr if not needed.
[out]pa: alpha channel. Set as nullptr if not needed.

Output channels are resized if needed.

Note
The SIMD lib is used to accelerate processing on x86 and ARM architecture.

Example code using split:

#include <visp3/core/vpImage.h>
#include <visp3/core/vpImageConvert.h>
#include <visp3/io/vpImageIo.h>
#ifdef ENABLE_VISP_NAMESPACE
using namespace VISP_NAMESPACE_NAME;
#endif
int main()
{
vpImage<vpRGBa> Ic; // A color image
// Load a color image from the disk
vpImageIo::read(Ic,"image.ppm");
// Only R and B Channels are desired.
// Split Ic color image
// R and B will be resized in split function if needed
vpImageConvert::split(Ic, &R, nullptr, &B, nullptr);
// Save the the R Channel.
vpImageIo::write(R, "RChannel.pgm");
}
static void split(const vpImage< vpRGBa > &src, vpImage< unsigned char > *pR, vpImage< unsigned char > *pG, vpImage< unsigned char > *pB, vpImage< unsigned char > *pa=nullptr)
Examples
catchColorConversion.cpp, catchGaussianFilter.cpp, grabV4l2MultiCpp11Thread.cpp, perfColorConversion.cpp, and testConversion.cpp.

Definition at line 1184 of file vpImageConvert.cpp.

References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getNumberOfPixel(), vpImage< Type >::getSize(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().

Referenced by VISP_NAMESPACE_NAME::clahe(), VISP_NAMESPACE_NAME::equalizeHistogram(), VISP_NAMESPACE_NAME::gammaCorrection(), VISP_NAMESPACE_NAME::stretchContrast(), and VISP_NAMESPACE_NAME::unsharpMask().

◆ YCbCrToGrey()

void vpImageConvert::YCbCrToGrey ( unsigned char * ycbcr,
unsigned char * grey,
unsigned int size )
static

Convert an image from YCrCb 4:2:2 (Y0 Cr01 Y1 Cb01 Y2 Cr23 Y3 ...) to grey format. Destination grey image memory area has to be allocated before.

  • In YCrCb (4:2:2) format each pixel is coded using 16 bytes. Byte 0: YO (Luma for Pixel 0) Byte 1: Chroma Red Cr (Red Chroma for Pixel 0 and 1) Byte 2: Y1 (Luma for Pixel 1) Byte 3: Chroma blue Cb (Blue Chroma for Pixel 0 and 1) Byte 4: Y2 (Luma for Pixel 2)
  • In grey format, each pixel is coded using 8 bytes.
Parameters
[in]ycbcr: Pointer to the bitmap containing the YCbCr 4:2:2 data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]size: Image size corresponding to image width * height.

Definition at line 1009 of file vpImageConvert.cpp.

◆ YCbCrToRGB()

void vpImageConvert::YCbCrToRGB ( unsigned char * ycbcr,
unsigned char * rgb,
unsigned int size )
static

Convert an image from YCbCr 4:2:2 (Y0 Cb01 Y1 Cr01 Y2 Cb23 Y3 ...) to RGB format. Destination rgb memory area has to be allocated before.

  • In YCbCr (4:2:2) format each pixel is coded using 16 bytes. Byte 0: YO (Luma for Pixel 0) Byte 1: Chroma Blue Cb (Blue Chroma for Pixel 0 and 1) Byte 2: Y1 (Luma for Pixel 1) Byte 3: Chroma Red Cr (Red Chroma for Pixel 0 and 1) Byte 4: Y2 (Luma for Pixel 2)
  • In RGB format, each pixel is coded using 24 bytes. Byte 0: Red Byte 1: Green Byte 2: Blue
Parameters
[in]ycbcr: Pointer to the bitmap containing the YCbCr 4:2:2 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]size: Image size corresponding to image width * height.

Definition at line 890 of file vpImageConvert.cpp.

◆ YCbCrToRGBa()

void vpImageConvert::YCbCrToRGBa ( unsigned char * ycbcr,
unsigned char * rgba,
unsigned int size )
static

Convert an image from YCbCr 4:2:2 (Y0 Cb01 Y1 Cr01 Y2 Cb23 Y3...) to RGBa format. Destination rgba memory area has to be allocated before.

The alpha component of the converted image is set to vpRGBa::alpha_default.

  • In YCbCr (4:2:2) format each pixel is coded using 16 bytes. Byte 0: YO (Luma for Pixel 0) Byte 1: Chroma Blue Cb (Blue Chroma for Pixel 0 and 1) Byte 2: Y1 (Luma for Pixel 1) Byte 3: Chroma Red Cr (Red Chroma for Pixel 0 and 1) Byte 4: Y2 (Luma for Pixel 2)
  • In RGBa format, each pixel is coded using 24 bytes. Byte 0: Red Byte 1: Green Byte 2: Blue Byte 3: -
Parameters
[in]ycbcr: Pointer to the bitmap containing the YCbCr 4:2:2 data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to image width * height.

Definition at line 952 of file vpImageConvert.cpp.

References vpRGBa::alpha_default.

◆ YCrCbToRGB()

void vpImageConvert::YCrCbToRGB ( unsigned char * ycrcb,
unsigned char * rgb,
unsigned int size )
static

Convert an image from YCrCb 4:2:2 (Y0 Cr01 Y1 Cb01 Y2 Cr23 Y3 ...) to RGB format. Destination rgb memory area has to be allocated before.

  • In YCrCb (4:2:2) format each pixel is coded using 16 bytes. Byte 0: YO (Luma for Pixel 0) Byte 1: Chroma Red Cr (Red Chroma for Pixel 0 and 1) Byte 2: Y1 (Luma for Pixel 1) Byte 3: Chroma blue Cb (Blue Chroma for Pixel 0 and 1) Byte 4: Y2 (Luma for Pixel 2)
  • In RGB format, each pixel is coded using 24 bytes. Byte 0: Red Byte 1: Green Byte 2: Blue
Parameters
[in]ycrcb: Pointer to the bitmap containing the YCbCr 4:2:2 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]size: Image size corresponding to image width * height.

Definition at line 1043 of file vpImageConvert.cpp.

◆ YCrCbToRGBa()

void vpImageConvert::YCrCbToRGBa ( unsigned char * ycrcb,
unsigned char * rgba,
unsigned int size )
static

Convert an image from YCrCb 4:2:2 (Y0 Cr01 Y1 Cb01 Y2 Cr23 Y3 ...) to RGBa format. Destination rgba memory area has to be allocated before.

The alpha component of the resulting image is set to vpRGBa::alpha_default.

  • In YCrCb (4:2:2) format each pixel is coded using 16 bytes. Byte 0: YO (Luma for Pixel 0) Byte 1: Chroma Red Cr (Red Chroma for Pixel 0 and 1) Byte 2: Y1 (Luma for Pixel 1) Byte 3: Chroma blue Cb (Blue Chroma for Pixel 0 and 1) Byte 4: Y2 (Luma for Pixel 2)
  • In RGBa format, each pixel is coded using 24 bytes. Byte 0: Red Byte 1: Green Byte 2: Blue Byte 3: -
Parameters
[in]ycrcb: Pointer to the bitmap containing the YCrCb 4:2:2 data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to image width * height.

Definition at line 1104 of file vpImageConvert.cpp.

References vpRGBa::alpha_default.

◆ YUV411ToGrey()

void vpImageConvert::YUV411ToGrey ( unsigned char * yuv,
unsigned char * grey,
unsigned int size )
static

Convert YUV 4:1:1 (u y1 y2 v y3 y4) into a grey image.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:1:1 data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]size: Image size corresponding to width * height.

Definition at line 385 of file vpImageConvert_yuv.cpp.

Referenced by vp1394CMUGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ YUV411ToRGB()

void vpImageConvert::YUV411ToRGB ( unsigned char * yuv,
unsigned char * rgb,
unsigned int size )
static

Convert YUV 4:1:1 (u y1 y2 v y3 y4) into a RGB 24bits image.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:1:1 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]size: Image size corresponding to width * height.

Definition at line 495 of file vpImageConvert_yuv.cpp.

◆ YUV411ToRGBa()

void vpImageConvert::YUV411ToRGBa ( unsigned char * yuv,
unsigned char * rgba,
unsigned int size )
static

Convert YUV 4:1:1 (u y1 y2 v y3 y4) images into RGBa images. The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:1:1 data.
[out]rgba: Pointer to the RGBA 32-bits bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to width * height.

Definition at line 231 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.

Referenced by vp1394CMUGrabber::acquire(), vp1394TwoGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ YUV420ToGrey()

void vpImageConvert::YUV420ToGrey ( unsigned char * yuv,
unsigned char * grey,
unsigned int size )
static

Convert YUV 4:2:0 [Y(NxM), U(N/2xM/2), V(N/2xM/2)] image into a grey image.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:2:0 data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]size: Image size corresponding to image width * height.

Definition at line 801 of file vpImageConvert_yuv.cpp.

◆ YUV420ToRGB()

void vpImageConvert::YUV420ToRGB ( unsigned char * yuv,
unsigned char * rgb,
unsigned int width,
unsigned int height )
static

Convert YUV 4:2:0 [Y(NxM), U(N/2xM/2), V(N/2xM/2)] image into a RGB image.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:2:0 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]width: Image width.
[in]height: Image height.

Definition at line 697 of file vpImageConvert_yuv.cpp.

◆ YUV420ToRGBa()

void vpImageConvert::YUV420ToRGBa ( unsigned char * yuv,
unsigned char * rgba,
unsigned int width,
unsigned int height )
static

Convert YUV 4:2:0 [Y(NxM), U(N/2xM/2), V(N/2xM/2)] image into a RGBa image.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:2:0 data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.

Definition at line 587 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.

◆ YUV422ToGrey()

void vpImageConvert::YUV422ToGrey ( unsigned char * yuv,
unsigned char * grey,
unsigned int size )
static

Convert YUV 4:2:2 (u01 y0 v01 y1 u23 y2 v23 y3 ...) images into a grey image. Destination grey memory area has to be allocated before.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:2:2 data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]size: Image size corresponding to width * height.
See also
YUYVToGrey()

Definition at line 473 of file vpImageConvert_yuv.cpp.

Referenced by vp1394CMUGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ YUV422ToRGB()

void vpImageConvert::YUV422ToRGB ( unsigned char * yuv,
unsigned char * rgb,
unsigned int size )
static

Convert YUV 4:2:2 (u01 y0 v01 y1 u23 y2 v23 y3 ...) images into RGB images. Destination rgb memory area has to be allocated before.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:2:2 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]size: Image size corresponding to width * height.
See also
YUYVToRGB()

Definition at line 416 of file vpImageConvert_yuv.cpp.

◆ YUV422ToRGBa()

void vpImageConvert::YUV422ToRGBa ( unsigned char * yuv,
unsigned char * rgba,
unsigned int size )
static

Convert YUV 4:2:2 (u01 y0 v01 y1 u23 y2 v23 y3 ...) images into RGBa images. Destination rgba memory area has to be allocated before.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:2:2 data.
[out]rgba: Pointer to the RGBA 32-bits bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to width * height.
See also
YUYVToRGBa()

Definition at line 328 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.

Referenced by vp1394CMUGrabber::acquire(), vp1394TwoGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ YUV444ToGrey()

void vpImageConvert::YUV444ToGrey ( unsigned char * yuv,
unsigned char * grey,
unsigned int size )
static

Convert YUV 4:4:4 (u y v) image into a grey image.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:4:4 data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]size: Image size corresponding to image width * height.

Definition at line 896 of file vpImageConvert_yuv.cpp.

Referenced by vp1394CMUGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ YUV444ToRGB()

void vpImageConvert::YUV444ToRGB ( unsigned char * yuv,
unsigned char * rgb,
unsigned int size )
static

Convert YUV 4:4:4 (u y v) image into RGB image.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:4:4 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]size: Image size corresponding to image width * height.

Definition at line 856 of file vpImageConvert_yuv.cpp.

◆ YUV444ToRGBa()

void vpImageConvert::YUV444ToRGBa ( unsigned char * yuv,
unsigned char * rgba,
unsigned int size )
static

Convert YUV 4:4:4 (u y v) image into a RGBa image.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuv: Pointer to the bitmap containing the YUV 4:4:4 data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]size: Image size corresponding to image width * height.

Definition at line 815 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.

Referenced by vp1394CMUGrabber::acquire(), vp1394TwoGrabber::acquire(), and vp1394TwoGrabber::dequeue().

◆ YUVToRGB()

void vpImageConvert::YUVToRGB ( unsigned char y,
unsigned char u,
unsigned char v,
unsigned char & r,
unsigned char & g,
unsigned char & b )
inlinestatic

Converts a yuv pixel value in rgb format.

Parameters
yY component of a pixel.
uU component of a pixel.
vV component of a pixel.
rRed component from the YUV coding format. This value is computed using:

\‍[ r = 0.9999695*y - 0.0009508*(u-128) + 1.1359061*(v-128) \‍]

gGreen component from the YUV coding format. This value is computed using:

\‍[g = 0.9999695*y - 0.3959609*(u-128) - 0.5782955*(v-128) \‍]

bBlue component from the YUV coding format. This value is computed using:

\‍[b = 0.9999695*y + 2.04112*(u-128) - 0.0016314*(v-128) \‍]

Examples
testConversion.cpp.

Definition at line 458 of file vpImageConvert.h.

◆ YUYVToGrey()

void vpImageConvert::YUYVToGrey ( unsigned char * yuyv,
unsigned char * grey,
unsigned int size )
static

Convert an image from YUYV 4:2:2 (y0 u01 y1 v01 y2 u23 y3 v23 ...) to grey. Destination grey memory area has to be allocated before.

Parameters
[in]yuyv: Pointer to the bitmap containing the YUYV 4:2:2 data.
[out]grey: Pointer to the 8-bits grey bitmap that should be allocated with a size of width * height.
[in]size: Image size corresponding to width * height.
See also
YUV422ToGrey()

Definition at line 209 of file vpImageConvert_yuv.cpp.

Referenced by vpV4l2Grabber::acquire().

◆ YUYVToRGB()

void vpImageConvert::YUYVToRGB ( unsigned char * yuyv,
unsigned char * rgb,
unsigned int width,
unsigned int height )
static

Convert an image from YUYV 4:2:2 (y0 u01 y1 v01 y2 u23 y3 v23 ...) to RGB24. Destination rgb memory area has to be allocated before.

Parameters
[in]yuyv: Pointer to the bitmap containing the YUYV 4:2:2 data.
[out]rgb: Pointer to the RGB32 bitmap that should be allocated with a size of width * height * 3.
[in]width: Image width.
[in]height: Image height.
See also
YUV422ToRGB()

Definition at line 142 of file vpImageConvert_yuv.cpp.

◆ YUYVToRGBa()

BEGIN_VISP_NAMESPACE void vpImageConvert::YUYVToRGBa ( unsigned char * yuyv,
unsigned char * rgba,
unsigned int width,
unsigned int height )
static

Convert an image from YUYV 4:2:2 (y0 u01 y1 v01 y2 u23 y3 v23 ...) to RGB32. Destination rgba memory area has to be allocated before.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuyv: Pointer to the bitmap containing the YUYV 4:2:2 data.
[out]rgba: Pointer to the RGB32 bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.
See also
YUV422ToRGBa()

Definition at line 72 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.

Referenced by vpV4l2Grabber::acquire().

◆ YV12ToRGB()

void vpImageConvert::YV12ToRGB ( unsigned char * yuv,
unsigned char * rgb,
unsigned int height,
unsigned int width )
static

Convert YV12 [Y(NxM), V(N/2xM/2), U(N/2xM/2)] image into RGB image.

Parameters
[in]yuv: Pointer to the bitmap containing the YV 1:2 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]width: Image width.
[in]height: Image height.

Definition at line 1027 of file vpImageConvert_yuv.cpp.

◆ YV12ToRGBa()

void vpImageConvert::YV12ToRGBa ( unsigned char * yuv,
unsigned char * rgba,
unsigned int width,
unsigned int height )
static

Convert YV 1:2 [Y(NxM), V(N/2xM/2), U(N/2xM/2)] image into RGBa image.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuv: Pointer to the bitmap containing the YV 1:2 data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.

Definition at line 917 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.

◆ YVU9ToRGB()

void vpImageConvert::YVU9ToRGB ( unsigned char * yuv,
unsigned char * rgb,
unsigned int height,
unsigned int width )
static

Convert YV 1:2 [Y(NxM), V(N/4xM/4), U(N/4xM/4)] image into RGB image.

Parameters
[in]yuv: Pointer to the bitmap containing the YV 1:2 data.
[out]rgb: Pointer to the 24-bits RGB bitmap that should be allocated with a size of width * height * 3.
[in]width: Image width.
[in]height: Image height.

Definition at line 1352 of file vpImageConvert_yuv.cpp.

◆ YVU9ToRGBa()

void vpImageConvert::YVU9ToRGBa ( unsigned char * yuv,
unsigned char * rgba,
unsigned int width,
unsigned int height )
static

Convert YVU 9 [Y(NxM), V(N/4xM/4), U(N/4xM/4)] image into a RGBa image.

The alpha component of the converted image is set to vpRGBa::alpha_default.

Parameters
[in]yuv: Pointer to the bitmap containing the YVU 9 data.
[out]rgba: Pointer to the 32-bits RGBA bitmap that should be allocated with a size of width * height * 4.
[in]width: Image width.
[in]height: Image height.

Definition at line 1158 of file vpImageConvert_yuv.cpp.

References vpRGBa::alpha_default.