Visual Servoing Platform
version 3.6.1 under development (2024-12-12)
|
#include <visp3/core/vpImage.h>
Public Member Functions | |
vpImage () | |
vpImage (const vpImage< Type > &img) | |
vpImage (unsigned int height, unsigned int width) | |
vpImage (unsigned int height, unsigned int width, Type value) | |
vpImage (Type *const array, unsigned int height, unsigned int width, bool copyData=false) | |
virtual | ~vpImage () |
void | getMinMaxValue (vpRGBf &min, vpRGBf &max, bool onlyFiniteVal) const |
Public Attributes | |
Type * | bitmap |
vpDisplay * | display |
Friends | |
class | vpImageConvert |
Related Functions | |
(Note that these are not member functions.) | |
template<class Type > | |
void | init (unsigned int h, unsigned int w, Type value) |
template<class Type > | |
void | init (unsigned int h, unsigned int w) |
template<class Type > | |
void | init (Type *const array, unsigned int h, unsigned int w, bool copyData) |
template<class Type > | |
vpImage (unsigned int h, unsigned int w) | |
template<class Type > | |
vpImage (unsigned int h, unsigned int w, Type value) | |
template<class Type > | |
vpImage (Type *const array, unsigned int h, unsigned int w, bool copyData) | |
template<class Type > | |
vpImage () | |
template<class Type > | |
vpImage (const vpImage< Type > &I) | |
template<> | |
double | getValue (double i, double j) const |
template<> | |
double | getValue (const vpImagePoint &ip) const |
template<> | |
void | getMinMaxValue (double &min, double &max, bool onlyFiniteVal) const |
template<> | |
void | getMinMaxValue (float &min, float &max, bool onlyFiniteVal) const |
template<> | |
void | performLut (const unsigned char(&lut)[256], unsigned int nbThreads) |
template<> | |
void | performLut (const vpRGBa(&lut)[256], unsigned int nbThreads) |
Inherited functionalities from vpImage | |
std::ostream & | operator<< (std::ostream &s, const vpImage< Type > &I) |
std::ostream & | operator<< (std::ostream &s, const vpImage< unsigned char > &I) |
std::ostream & | operator<< (std::ostream &s, const vpImage< char > &I) |
std::ostream & | operator<< (std::ostream &s, const vpImage< float > &I) |
std::ostream & | operator<< (std::ostream &s, const vpImage< double > &I) |
void | swap (vpImage< Type > &first, vpImage< Type > &second) |
void | destroy () |
void | doubleSizeImage (vpImage< Type > &res) |
unsigned int | getCols () const |
unsigned int | getHeight () const |
Type | getMaxValue (bool onlyFiniteVal=true) const |
double | getMeanValue (const vpImage< bool > *p_mask=nullptr, unsigned int *nbValidPoints=nullptr) const |
Type | getMinValue (bool onlyFiniteVal=true) const |
void | getMinMaxValue (Type &min, Type &max, bool onlyFiniteVal=true) const |
void | getMinMaxLoc (vpImagePoint *minLoc, vpImagePoint *maxLoc, Type *minVal=nullptr, Type *maxVal=nullptr) const |
unsigned int | getNumberOfPixel () const |
unsigned int | getRows () const |
unsigned int | getSize () const |
double | getStdev (const vpImage< bool > *p_mask=nullptr, unsigned int *nbValidPoints=nullptr) const |
double | getStdev (const double &mean, const vpImage< bool > *p_mask=nullptr, unsigned int *nbValidPoints=nullptr) const |
double | getSum (const vpImage< bool > *p_mask=nullptr, unsigned int *nbValidPoints=nullptr) const |
Type | getValue (unsigned int i, unsigned int j) const |
Type | getValue (double i, double j) const |
Type | getValue (const vpImagePoint &ip) const |
unsigned int | getWidth () const |
void | halfSizeImage (vpImage< Type > &res) const |
void | init (unsigned int height, unsigned int width) |
void | init (unsigned int height, unsigned int width, Type value) |
void | init (Type *const array, unsigned int height, unsigned int width, bool copyData=false) |
void | insert (const vpImage< Type > &src, const vpImagePoint &topLeft) |
Type * | operator[] (unsigned int i) |
Type * | operator[] (int i) |
const Type * | operator[] (unsigned int i) const |
const Type * | operator[] (int i) const |
Type | operator() (unsigned int i, unsigned int j) const |
void | operator() (unsigned int i, unsigned int j, const Type &v) |
Type | operator() (const vpImagePoint &ip) const |
void | operator() (const vpImagePoint &ip, const Type &v) |
vpImage< Type > | operator- (const vpImage< Type > &B) const |
vpImage< Type > & | operator= (const vpImage< Type > &other) |
vpImage< Type > & | operator= (const Type &v) |
bool | operator== (const vpImage< Type > &I) const |
bool | operator!= (const vpImage< Type > &I) const |
void | performLut (const Type(&lut)[256], unsigned int nbThreads=1) |
void | quarterSizeImage (vpImage< Type > &res) const |
void | resize (unsigned int h, unsigned int w) |
void | resize (unsigned int h, unsigned int w, const Type &val) |
void | sub (const vpImage< Type > &B, vpImage< Type > &C) const |
void | sub (const vpImage< Type > &A, const vpImage< Type > &B, vpImage< Type > &C) const |
void | subsample (unsigned int v_scale, unsigned int h_scale, vpImage< Type > &sampled) const |
Definition of the vpImage class member functions.
This is a template class, therefore the type of each element of the array is not a priori defined.
Each image is build using two structure (an array bitmap which size is [width*height]) and an array of pointer row (which size is [nrow]) the ith element in the row array row[i] is pointer toward the ith "line" of the image (ie, bitmap +i*width )
Such a structure allows a fast access to each element of the image. if i is the ith rows and j the jth columns the value of this pixel is given by I[i][j] (that is equivalent to row[i][j]).
The following example available in tutorial-image-manipulation.cpp shows how to create gray level and color images and how to access to the pixels.
To provide high-performance access there is no verification to ensure that 0 i < height and 0 j < width. Since the memory allocated in the bitmap array is continuous, that means that if (i, j) is outside the image you will manipulate a pixel that is not as expected. To highlight this remark, we provide hereafter an example where the considered pixel is outside the image:
copy constructor
Definition at line 600 of file vpImage.h.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), and vpImage< Type >::resize().
vpImage | ( | unsigned int | height, |
unsigned int | width | ||
) |
constructor set the size of the image
Definition at line 490 of file vpImage.h.
References vpImage< Type >::init().
vpImage | ( | unsigned int | height, |
unsigned int | width, | ||
Type | value | ||
) |
constructor set the size of the image and init all the pixel
Definition at line 501 of file vpImage.h.
References vpImage< Type >::init().
vpImage | ( | Type *const | array, |
unsigned int | height, | ||
unsigned int | width, | ||
bool | copyData = false |
||
) |
constructor from an image stored as a continuous array in memory
Definition at line 511 of file vpImage.h.
References vpImage< Type >::init().
void vpImage< Type >::destroy |
Destructor : Memory de-allocation.
Definition at line 573 of file vpImage.h.
Referenced by vpImageFilter::filter(), vpImageFilter::gaussianBlur(), and vpTemplateTracker::initTracking().
Returns a new image that's double size of the current image. Used (eg. in case of keypoints extraction, we might double size of the image in order to have more keypoints). The double size image is computed by nearest-neighbour interpolation:
res | [out] : Image that is double size of the current image. |
The example below shows how to use this method:
See halfSizeImage(vpImage<Type> &) for an example of pyramid construction.
Definition at line 837 of file vpImage.h.
References vpImage< Type >::resize().
|
inline |
Get the number of columns in the image.
Definition at line 171 of file vpImage.h.
Referenced by vpCircleHoughTransform::computeCenterCandidates(), vpImageConvert::convert(), vpMomentObject::fromImage(), vpMeTracker::inMeMaskCandidates(), and vpLuminanceDCT::inverse().
|
inline |
Get the image height.
Definition at line 181 of file vpImage.h.
Referenced by vpDiskGrabber::acquire(), vp1394CMUGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::acquire(), VISP_NAMESPACE_NAME::vpDirection::active(), vpImageTools::binarise(), vpHistogram::calculate(), vpImageTools::changeLUT(), VISP_NAMESPACE_NAME::clahe(), vpMbtDistanceLine::closeToImageBorder(), vpImageTools::columnMean(), vpImageFilter::computeCannyThreshold(), vpCircleHoughTransform::computeCircleProbability(), vpImageFilter::computePartialDerivatives(), vpImageCircle::computePixelsInMask(), vpPose::computePlanarObjectPoseFromRGBD(), vpMbTracker::computeProjectionErrorImpl(), vpMeLine::computeRhoTheta(), vpCircleHoughTransform::computeVotingMask(), VISP_NAMESPACE_NAME::connectedComponents(), vpColormap::convert(), vpImageConvert::convert(), vpMeSite::convolution(), VISP_NAMESPACE_NAME::createHistogram(), vpKeyPoint::createImageMatching(), vpImageTools::crop(), vpImageConvert::depthToPointCloud(), vp1394TwoGrabber::dequeue(), vpCannyEdgeDetection::detect(), vpDetectorDataMatrixCode::detect(), vpImageMorphology::dilatation(), vpHistogram::display(), vpMbtDistanceCylinder::display(), vpMbtDistanceLine::display(), vpMbtFaceDepthDense::display(), vpMbtFaceDepthNormal::display(), vpMbDepthDenseTracker::display(), vpMbDepthNormalTracker::display(), vpMbEdgeTracker::display(), vpWireFrameSimulator::display_scene(), vpMbtFaceDepthNormal::displayFeature(), vpDisplayGTK::displayImageROI(), vpMeLine::displayLine(), vpDisplay::displayLine(), vpFeatureDisplay::displayLine(), vpKeyPoint::displayMatching(), vpCircleHoughTransform::edgeDetection(), vpHistogram::equalize(), VISP_NAMESPACE_NAME::equalizeHistogram(), vpImageMorphology::erosion(), VISP_NAMESPACE_NAME::fillHoles(), vpTemplateTrackerZone::fillTriangle(), vpImageFilter::filter(), vpCircleHoughTransform::filterEdgeMap(), vpImageFilter::filterX(), vpImageFilter::filterY(), VISP_NAMESPACE_NAME::findContours(), vpImageTools::flip(), VISP_NAMESPACE_NAME::floodFill(), VISP_NAMESPACE_NAME::gammaCorrection(), VISP_NAMESPACE_NAME::gammaCorrectionSpatialBased(), vpAfma6::getCameraParameters(), vpViper650::getCameraParameters(), vpViper850::getCameraParameters(), vpTemplateTrackerSSD::getCost(), vpTemplateTrackerZNCC::getCost(), vpTemplateTrackerMI::getCost(), vpKinect::getDepthMap(), vpWireFrameSimulator::getExternalCameraParameters(), vpWireFrameSimulator::getExternalImage(), vpVideoReader::getFrame(), vpImageFilter::getGaussPyramidal(), vpImageFilter::getGaussXPyramidal(), vpImageFilter::getGaussYPyramidal(), vpImageFilter::getGradX(), vpImageFilter::getGradY(), vpRobotBebop2::getGrayscaleImage(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpWireFrameSimulator::getInternalImage(), vpTemplateTrackerMI::getMI(), vpTemplateTrackerMI::getMI256(), vpPolygon3D::getNbCornerInsideImage(), vpTemplateTrackerMI::getNormalizedCost(), vpPanda3DRGBRenderer::getRender(), vpPanda3DGeometryRenderer::getRender(), vpPanda3DPostProcessFilter::getRenderBasic(), vpAROgre::getRenderingOutput(), vpRobotBebop2::getRGBaImage(), vpTemplateTrackerSSD::getSSD(), vpImage< Type >::getStdev(), vpImage< Type >::getSum(), vpImageTools::imageAdd(), vpLuminanceMapping::imageAsMatrix(), vpLuminanceMapping::imageAsVector(), vpImageTools::imageDifference(), vpImageTools::imageDifferenceAbsolute(), vpImageTools::imageSubtract(), vpMbDepthDenseTracker::init(), vpMbDepthNormalTracker::init(), vpMbEdgeTracker::init(), vpAROgre::init(), vpDisplayGTK::init(), vpDisplayOpenCV::init(), vpDisplayWin32::init(), vpTemplateTrackerZone::initFromPoints(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerMIInverseCompositional::initHessienDesired(), vpMbtDistanceLine::initMovingEdge(), vpMbEdgeTracker::initPyramid(), vpTemplateTracker::initTracking(), vpImageTools::inMask(), vpImage< Type >::insert(), vpKeyPoint::insertImageMatching(), vpImageTools::integralImage(), vpLuminancePCA::learn(), vpMeEllipse::leastSquare(), vpMeEllipse::leastSquareRobust(), vpMeNurbs::localReSample(), vpDisplayFactory::impl::makeDisplayGridHelper(), vpLuminancePCA::map(), vpLuminanceDCT::map(), vpImageConvert::merge(), VISP_NAMESPACE_NAME::MSRCR(), vpWireFrameSimulator::navigation(), vpImageTools::normalize(), vpImageTools::normalizedCorrelation(), vpDiskGrabber::open(), vpVideoWriter::open(), vpImage< Type >::operator==(), vpImage< Type >::performLut(), vpMeEllipse::plugHoles(), vpColorDepthConversion::projectColorToDepth(), VISP_NAMESPACE_NAME::reconstruct(), vpImageTools::remap(), vpImageTools::resize(), vpImageTools::resizeBilinear(), VISP_NAMESPACE_NAME::retinex(), vpPolygon3D::roiInsideImage(), vpMeNurbs::sample(), vpMeEllipse::sample(), vpMeLine::sample(), vpDot2::searchDotsInArea(), vpMeLine::seekExtremities(), vpMeNurbs::seekExtremities(), vpMeNurbs::seekExtremitiesCanny(), vpImageFilter::sepFilter(), vpPanda3DRGBRenderer::setBackgroundImage(), vpAR::setImage(), vpImageConvert::split(), VISP_NAMESPACE_NAME::stretchContrast(), VISP_NAMESPACE_NAME::stretchContrastHSV(), vpImage< Type >::sub(), vpImageTools::templateMatching(), vpMbEdgeTracker::track(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDInverseCompositional::trackNoPyr(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerMIInverseCompositional::trackNoPyr(), vpImageTools::undistort(), VISP_NAMESPACE_NAME::unsharpMask(), vpMbtDistanceLine::updateMovingEdge(), vpMbEdgeTracker::visibleFace(), vpDisplayGDI::vpDisplayGDI(), vpDisplayGTK::vpDisplayGTK(), vpDisplayOpenCV::vpDisplayOpenCV(), vpImage< Type >::vpImage(), vpImageTools::warpImage(), vpImageTools::warpLinear(), and vpKinect::warpRGBFrame().
|
inline |
Return the maximum value within the bitmap.
Return the maximum value within the float bitmap.
Return the maximum value within the double bitmap.
onlyFiniteVal | : This parameter is ignored for non double or non float bitmap. If true, consider only finite values. |
Definition at line 349 of file vpImage_getters.h.
References vpException::fatalError.
double vpImage< Type >::getMeanValue | ( | const vpImage< bool > * | p_mask = nullptr , |
unsigned int * | nbValidPoints = nullptr |
||
) | const |
Return the mean value of the bitmap.
For vpRGBa and vpRGBf image types, the sum of image intensities is computed by (R+G+B).
[in] | p_mask | Optional parameter. If not set to nullptr, a boolean mask that indicates which points must be considered, if set to true. |
[out] | nbValidPoints | Optional parameter. When different from nullptr contains the number of points that are valid according to the boolean mask or image size when p_mask is set to nullptr. |
Definition at line 769 of file vpImage_getters.h.
References vpException::divideByZeroError.
Referenced by VISP_NAMESPACE_NAME::gammaCorrectionClassBasedMethod(), VISP_NAMESPACE_NAME::gammaCorrectionLogMethod(), and vpImageTools::normalizedCorrelation().
void vpImage< Type >::getMinMaxLoc | ( | vpImagePoint * | minLoc, |
vpImagePoint * | maxLoc, | ||
Type * | minVal = nullptr , |
||
Type * | maxVal = nullptr |
||
) | const |
Get the position of the minimum and/or the maximum pixel value within the bitmap and the corresponding value. Following code allows retrieving only minimum value and position:
minLoc | : Position of the pixel with minimum value if not nullptr. |
maxLoc | : Position of the pixel with maximum value if not nullptr. |
minVal | : Minimum pixel value if not nullptr. |
maxVal | : Maximum pixel value if not nullptr. |
Definition at line 719 of file vpImage_getters.h.
References vpException::fatalError, and vpImagePoint::set_ij().
void vpImage< Type >::getMinMaxValue | ( | Type & | min, |
Type & | max, | ||
bool | onlyFiniteVal = true |
||
) | const |
Look for the minimum and the maximum value within the bitmap.
min | : The minimal value within the bitmap. |
max | : The maximal value within the bitmap. |
onlyFiniteVal | : This parameter is ignored for non double or non float bitmap. |
Definition at line 520 of file vpImage_getters.h.
References vpException::fatalError.
Referenced by vpImageConvert::convert(), vpColormap::convert(), VISP_NAMESPACE_NAME::gammaCorrectionLogMethod(), VISP_NAMESPACE_NAME::stretchContrast(), and VISP_NAMESPACE_NAME::stretchContrastHSV().
|
inline |
Look for the minimum and the maximum value within the 3-channels float bitmap.
min | : The minimal values within the bitmap. |
max | : The maximal values within the bitmap. |
onlyFiniteVal | : If true, consider only finite values. |
Definition at line 635 of file vpImage_getters.h.
References vpRGBf::B, vpException::fatalError, vpRGBf::G, vpMath::isFinite(), and vpRGBf::R.
|
inline |
Return the minimum value within the bitmap.
Return the minimum value within the float bitmap.
Return the minimum value within the double bitmap.
onlyFiniteVal | : This parameter is ignored for non double or non float bitmap. If true, consider only finite values. |
Definition at line 433 of file vpImage_getters.h.
References vpException::fatalError.
|
inline |
Get the image number of pixels which corresponds to the image width multiplied by the image height.
Definition at line 203 of file vpImage.h.
Referenced by vpImageConvert::split().
|
inline |
Get the number of rows in the image.
Definition at line 212 of file vpImage.h.
Referenced by vpCircleHoughTransform::computeCenterCandidates(), vpImageConvert::convert(), vpMomentObject::fromImage(), vpMeTracker::inMeMaskCandidates(), and vpLuminanceDCT::inverse().
|
inline |
Get the image size.
Definition at line 221 of file vpImage.h.
Referenced by vp1394CMUGrabber::acquire(), vpFlyCaptureGrabber::acquire(), VISP_NAMESPACE_NAME::autoThreshold(), vpHistogram::calculate(), VISP_NAMESPACE_NAME::connectedComponents(), vpImageConvert::convert(), vpImageConvert::depthToPointCloud(), vpImageMorphology::dilatation(), VISP_NAMESPACE_NAME::drawContours(), vpImageMorphology::erosion(), VISP_NAMESPACE_NAME::fillHoles(), VISP_NAMESPACE_NAME::findContours(), VISP_NAMESPACE_NAME::floodFill(), vpImageTools::imageAdd(), vpImageTools::imageDifference(), vpImageTools::imageSubtract(), vpImageTools::inMask(), vpImageTools::integralImage(), VISP_NAMESPACE_NAME::MSRCR(), vpImageTools::normalizedCorrelation(), vpImage< Type >::performLut(), VISP_NAMESPACE_NAME::reconstruct(), vpImageConvert::split(), vpImageTools::templateMatching(), VISP_NAMESPACE_NAME::unsharpMask(), and vpImageTools::warpImage().
double vpImage< Type >::getStdev | ( | const double & | mean, |
const vpImage< bool > * | p_mask = nullptr , |
||
unsigned int * | nbValidPoints = nullptr |
||
) | const |
Return the standard deviation of the bitmap.
where is the mean of the image as computed by vpImage::getMeanValue() and is the number of pixels to consider in the mask.
[in] | mean | The mean of the image. |
[in] | p_mask | Optional parameter. When different from nullptr, a boolean mask that indicates which pixels must be considered, if set to true. |
[out] | nbValidPoints | Optional parameter. When different from nullptr contains the number of points that are valid according to the boolean mask or image size when p_mask is set to nullptr. |
Definition at line 824 of file vpImage_getters.h.
References vpImage< Type >::bitmap, vpException::fatalError, vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
double vpImage< Type >::getStdev | ( | const vpImage< bool > * | p_mask = nullptr , |
unsigned int * | nbValidPoints = nullptr |
||
) | const |
Return the standard deviation of the bitmap.
where is the mean of the image as computed by vpImage::getMeanValue() and is the number of pixels to consider in the mask.
[in] | p_mask | A boolean mask that indicates which points must be considered, if set to true. |
[out] | nbValidPoints | Optional parameter. When different from nullptr contains the number of points that are valid according to the boolean mask or image size when p_mask is set to nullptr. |
Definition at line 800 of file vpImage_getters.h.
Referenced by VISP_NAMESPACE_NAME::gammaCorrectionClassBasedMethod(), and VISP_NAMESPACE_NAME::gammaCorrectionSpatialBased().
|
inline |
Compute the sum of image intensities.
[in] | p_mask | Optional parameter. If not set to nullptr, pointer to a boolean mask that indicates the valid points by a true flag. |
[out] | nbValidPoints | Optional parameter. When different from nullptr contains the number of points that are valid according to the boolean mask or image size when p_mask is set to nullptr. |
Definition at line 973 of file vpImage_getters.h.
References vpImage< Type >::bitmap, vpException::fatalError, vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
Referenced by vpImageTools::normalize().
|
inline |
Retrieves pixel value from an image containing values of type Type with sub-pixel accuracy.
Gets the value of a sub-pixel with coordinates (i,j) with bilinear interpolation.
See also vpImageTools::interpolate() for a similar result, but with a choice of the interpolation method.
ip | : Sub-pixel coordinates of a point in the image. |
vpImageException::notInTheImage | : If the image point ip is out of the image. |
Definition at line 313 of file vpImage_getters.h.
References vpImagePoint::get_i(), vpImagePoint::get_j(), and vpImage< Type >::getValue().
|
inline |
Retrieves pixel value from an image containing values of type Type
with sub-pixel accuracy.
Gets the value of a sub-pixel with coordinates (i,j) with bilinear interpolation.
See also vpImageTools::interpolate() for a similar result, but with a choice of the interpolation method.
i | : Sub-pixel coordinate along the rows. |
j | : Sub-pixel coordinate along the columns. |
vpImageException::notInTheImage | : If (i,j) is out of the image. |
Definition at line 76 of file vpImage_getters.h.
References vpImageException::notInitializedError, vpImageException::notInTheImage, and vpMath::round().
|
inline |
Retrieves pixel value from an image containing values of type Type
.
Gets the value of a sub-pixel with coordinates (i,j).
i | : Pixel coordinate along the rows. |
j | : Pixel coordinate along the columns. |
vpImageException::notInTheImage | : If (i,j) is out of the image. |
Definition at line 51 of file vpImage_getters.h.
References vpImageException::notInTheImage.
Referenced by vpTemplateTrackerSSD::getCost(), vpTemplateTrackerZNCC::getCost(), vpTemplateTrackerMI::getCost(), vpTemplateTrackerMI::getMI(), vpTemplateTrackerMI::getMI256(), vpTemplateTrackerMI::getNormalizedCost(), vpTemplateTrackerSSD::getSSD(), vpImage< Type >::getValue(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerMIInverseCompositional::initHessienDesired(), vpMeTracker::inRoiMask(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDInverseCompositional::trackNoPyr(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), and vpTemplateTrackerMIInverseCompositional::trackNoPyr().
|
inline |
Get the image width.
Definition at line 242 of file vpImage.h.
Referenced by vpDiskGrabber::acquire(), vp1394CMUGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::acquire(), VISP_NAMESPACE_NAME::vpDirection::active(), vpImageTools::binarise(), vpHistogram::calculate(), vpImageTools::changeLUT(), VISP_NAMESPACE_NAME::clahe(), vpMbtDistanceLine::closeToImageBorder(), vpImageTools::columnMean(), vpImageFilter::computeCannyThreshold(), vpCircleHoughTransform::computeCircleProbability(), vpImageFilter::computePartialDerivatives(), vpImageCircle::computePixelsInMask(), vpPose::computePlanarObjectPoseFromRGBD(), vpMbTracker::computeProjectionErrorImpl(), vpMeLine::computeRhoTheta(), vpCircleHoughTransform::computeVotingMask(), VISP_NAMESPACE_NAME::connectedComponents(), vpColormap::convert(), vpImageConvert::convert(), vpMeSite::convolution(), VISP_NAMESPACE_NAME::createHistogram(), vpKeyPoint::createImageMatching(), vpImageTools::crop(), VISP_NAMESPACE_NAME::crossesEastBorder(), vpImageConvert::depthToPointCloud(), vp1394TwoGrabber::dequeue(), vpCannyEdgeDetection::detect(), vpDetectorDataMatrixCode::detect(), vpImageMorphology::dilatation(), vpHistogram::display(), vpMbtDistanceCylinder::display(), vpMbtDistanceLine::display(), vpMbtFaceDepthDense::display(), vpMbtFaceDepthNormal::display(), vpMbDepthDenseTracker::display(), vpMbDepthNormalTracker::display(), vpMbEdgeTracker::display(), vpWireFrameSimulator::display_scene(), vpMbtFaceDepthNormal::displayFeature(), vpDisplayGTK::displayImageROI(), vpMeLine::displayLine(), vpDisplay::displayLine(), vpFeatureDisplay::displayLine(), vpKeyPoint::displayMatching(), vpCircleHoughTransform::edgeDetection(), vpHistogram::equalize(), VISP_NAMESPACE_NAME::equalizeHistogram(), vpImageMorphology::erosion(), VISP_NAMESPACE_NAME::fillHoles(), vpTemplateTrackerZone::fillTriangle(), vpImageFilter::filter(), vpCircleHoughTransform::filterEdgeMap(), vpImageFilter::filterX(), vpImageFilter::filterY(), VISP_NAMESPACE_NAME::findContours(), vpImageTools::flip(), VISP_NAMESPACE_NAME::floodFill(), VISP_NAMESPACE_NAME::gammaCorrection(), VISP_NAMESPACE_NAME::gammaCorrectionSpatialBased(), vpAfma6::getCameraParameters(), vpViper650::getCameraParameters(), vpViper850::getCameraParameters(), vpTemplateTrackerSSD::getCost(), vpTemplateTrackerZNCC::getCost(), vpTemplateTrackerMI::getCost(), vpWireFrameSimulator::getExternalCameraParameters(), vpWireFrameSimulator::getExternalImage(), vpVideoReader::getFrame(), vpImageFilter::getGaussPyramidal(), vpImageFilter::getGaussXPyramidal(), vpImageFilter::getGaussYPyramidal(), vpImageFilter::getGradX(), vpImageFilter::getGradY(), vpRobotBebop2::getGrayscaleImage(), vpImageSimulator::getImage(), vpWireFrameSimulator::getInternalCameraParameters(), vpWireFrameSimulator::getInternalImage(), vpTemplateTrackerMI::getMI(), vpTemplateTrackerMI::getMI256(), vpPolygon3D::getNbCornerInsideImage(), vpTemplateTrackerMI::getNormalizedCost(), vpPanda3DRGBRenderer::getRender(), vpPanda3DGeometryRenderer::getRender(), vpPanda3DPostProcessFilter::getRenderBasic(), vpAROgre::getRenderingOutput(), vpRobotBebop2::getRGBaImage(), vpTemplateTrackerSSD::getSSD(), vpImage< Type >::getStdev(), vpImage< Type >::getSum(), vpImageTools::imageAdd(), vpLuminanceMapping::imageAsMatrix(), vpLuminanceMapping::imageAsVector(), vpImageTools::imageDifference(), vpImageTools::imageDifferenceAbsolute(), vpImageTools::imageSubtract(), vpMbDepthDenseTracker::init(), vpMbDepthNormalTracker::init(), vpMbEdgeTracker::init(), vpAROgre::init(), vpDisplayGTK::init(), vpDisplayOpenCV::init(), vpDisplayWin32::init(), vpTemplateTrackerZone::initFromPoints(), vpTemplateTrackerZNCCForwardAdditional::initHessienDesired(), vpTemplateTrackerZNCCInverseCompositional::initHessienDesired(), vpTemplateTrackerMIESM::initHessienDesired(), vpTemplateTrackerMIForwardAdditional::initHessienDesired(), vpTemplateTrackerMIForwardCompositional::initHessienDesired(), vpTemplateTrackerMIInverseCompositional::initHessienDesired(), vpMbtDistanceLine::initMovingEdge(), vpMbEdgeTracker::initPyramid(), vpTemplateTracker::initTracking(), vpImageTools::inMask(), vpImage< Type >::insert(), vpKeyPoint::insertImageMatching(), vpImageTools::integralImage(), VISP_NAMESPACE_NAME::isHoleBorderStart(), vpLuminancePCA::learn(), vpMeEllipse::leastSquare(), vpMeEllipse::leastSquareRobust(), vpMeNurbs::localReSample(), vpDisplayFactory::impl::makeDisplayGridHelper(), vpLuminancePCA::map(), vpLuminanceDCT::map(), vpImageConvert::merge(), VISP_NAMESPACE_NAME::MSRCR(), vpWireFrameSimulator::navigation(), vpImageTools::normalize(), vpImageTools::normalizedCorrelation(), vpDiskGrabber::open(), vpVideoWriter::open(), vpImage< Type >::operator==(), vpImage< Type >::performLut(), vpMeEllipse::plugHoles(), vpColorDepthConversion::projectColorToDepth(), VISP_NAMESPACE_NAME::reconstruct(), vpImageTools::remap(), vpImageTools::resize(), vpImageTools::resizeBilinear(), VISP_NAMESPACE_NAME::retinex(), vpPolygon3D::roiInsideImage(), vpMeNurbs::sample(), vpMeEllipse::sample(), vpMeLine::sample(), vpDot2::searchDotsInArea(), vpMeLine::seekExtremities(), vpMeNurbs::seekExtremities(), vpMeNurbs::seekExtremitiesCanny(), vpImageFilter::sepFilter(), vpPanda3DRGBRenderer::setBackgroundImage(), vpAR::setImage(), vpImageConvert::split(), VISP_NAMESPACE_NAME::stretchContrast(), VISP_NAMESPACE_NAME::stretchContrastHSV(), vpImage< Type >::sub(), vpImageTools::templateMatching(), vpMbEdgeTracker::track(), vpTemplateTrackerSSDESM::trackNoPyr(), vpTemplateTrackerSSDForwardAdditional::trackNoPyr(), vpTemplateTrackerSSDForwardCompositional::trackNoPyr(), vpTemplateTrackerSSDInverseCompositional::trackNoPyr(), vpTemplateTrackerZNCCForwardAdditional::trackNoPyr(), vpTemplateTrackerZNCCInverseCompositional::trackNoPyr(), vpTemplateTrackerMIESM::trackNoPyr(), vpTemplateTrackerMIForwardAdditional::trackNoPyr(), vpTemplateTrackerMIForwardCompositional::trackNoPyr(), vpTemplateTrackerMIInverseCompositional::trackNoPyr(), vpImageTools::undistort(), VISP_NAMESPACE_NAME::unsharpMask(), vpMbtDistanceLine::updateMovingEdge(), vpMbEdgeTracker::visibleFace(), vpDisplayGDI::vpDisplayGDI(), vpDisplayGTK::vpDisplayGTK(), vpDisplayOpenCV::vpDisplayOpenCV(), vpImage< Type >::vpImage(), vpImageTools::warpImage(), vpImageTools::warpLinear(), and vpKinect::warpRGBFrame().
Returns a new image that's half size of the current image. No filtering is used during the sub sampling.
Used for building pyramid of the image.
res | [out] : Subsampled image that is half size of the current image. |
The example below shows how to use this method:
This other example shows how to construct a pyramid of the image:
Definition at line 725 of file vpImage.h.
References vpImage< Type >::resize().
void init | ( | Type *const | array, |
unsigned int | height, | ||
unsigned int | width, | ||
bool | copyData = false |
||
) |
Initialization from an image stored as a continuous array in memory.
Definition at line 432 of file vpImage.h.
References vpException::memoryAllocationError.
void init | ( | unsigned int | height, |
unsigned int | width | ||
) |
Set the size of the image.
Definition at line 387 of file vpImage.h.
References vpException::memoryAllocationError.
Referenced by vpPlot::init(), and vpImage< Type >::vpImage().
void init | ( | unsigned int | height, |
unsigned int | width, | ||
Type | value | ||
) |
Set the size of the image and initialize all the elements to 'value'.
Definition at line 378 of file vpImage.h.
References vpImage< Type >::init().
void vpImage< Type >::insert | ( | const vpImage< Type > & | src, |
const vpImagePoint & | topLeft | ||
) |
Insert an image into another one.
It is possible to insert the image into the calling vpImage. You can set the point in the destination image where the top left corner of the image will be located.
src | : Image to insert |
topLeft | : Upper/left coordinates in the image where the image src is inserted in the destination image. |
Definition at line 639 of file vpImage.h.
References vpImage< Type >::bitmap, vpImagePoint::get_i(), vpImagePoint::get_j(), vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
Referenced by vpPose::computePlanarObjectPoseFromRGBD(), and vpKeyPoint::insertImageMatching().
Compare two images.
Definition at line 301 of file vpImage_operators.h.
|
inline |
Get the value of an image point.
ip | : An image point with sub-pixel coordinates. Sub-pixel coordinates are roughly transformed to insigned int coordinates by cast. |
Definition at line 290 of file vpImage.h.
References vpImage< Type >::bitmap, vpImagePoint::get_i(), and vpImagePoint::get_j().
|
inline |
Set the value of an image point.
ip | : An image point with sub-pixel coordinates. Sub-pixel coordinates are roughly transformed to insigned int coordinates by cast. |
v | : Value to set for the image point. |
Definition at line 306 of file vpImage.h.
References vpImage< Type >::bitmap, vpImagePoint::get_i(), and vpImagePoint::get_j().
|
inline |
Get the value of an image point with coordinates (i, j), with i the row position and j the column position.
Definition at line 272 of file vpImage.h.
References vpImage< Type >::bitmap.
|
inline |
Set the value v of an image point with coordinates (i, j), with i the row position and j the column position.
Definition at line 278 of file vpImage.h.
References vpImage< Type >::bitmap.
Operation A - B (A is unchanged).
Definition at line 332 of file vpImage_operators.h.
= operator : Set all the element of the bitmap to a given value v.
Definition at line 258 of file vpImage_operators.h.
Copy operator.
Copy operator. Resizes and copies the contents of the image other
. The pointer to the display remains unchanged.
[in] | other | : Image to copy. |
When | the display is initialised and the images have different sizes. |
Definition at line 190 of file vpImage_operators.h.
References vpImage< Type >::bitmap, and vpException::dimensionError.
Compare two images.
Definition at line 272 of file vpImage_operators.h.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), and vpImage< Type >::getWidth().
|
inline |
|
inline |
|
inline |
|
inline |
void vpImage< Type >::performLut | ( | const Type(&) | lut[256], |
unsigned int | nbThreads = 1 |
||
) |
Definition at line 176 of file vpImage_lut.h.
Referenced by VISP_NAMESPACE_NAME::adjust(), vpImageTools::binarise(), vpHistogram::equalize(), VISP_NAMESPACE_NAME::gammaCorrection(), VISP_NAMESPACE_NAME::gammaCorrectionClassBasedMethod(), VISP_NAMESPACE_NAME::gammaCorrectionLogMethod(), VISP_NAMESPACE_NAME::gammaCorrectionNonLinearMethod(), VISP_NAMESPACE_NAME::gammaCorrectionProbBasedMethod(), and VISP_NAMESPACE_NAME::stretchContrast().
Returns a new image that's a quarter size of the current image. No filtering is used during the sub sampling. Used for building a quarter of the image.
res | [out] : Subsampled image that is quarter size of the current image. |
The example below shows how to use this method:
See halfSizeImage(vpImage<Type> &) for an example of pyramid construction.
Definition at line 793 of file vpImage.h.
References vpImage< Type >::resize().
void vpImage< Type >::resize | ( | unsigned int | h, |
unsigned int | w | ||
) |
resize the image : Image initialization
Allocate memory for an [height x width] image.
w | : Image width. |
h | : Image height. |
Element of the bitmap are not initialized
If the image has been already initialized, memory allocation is done only if the new image size is different, else we re-use the same memory space.
vpException::memoryAllocationError |
Definition at line 544 of file vpImage.h.
References vpImage< Type >::init().
Referenced by vpPylonGrabberGigE::acquire(), vpPylonGrabberUsb::acquire(), vpFlyCaptureGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::acquire(), VISP_NAMESPACE_NAME::clahe(), vpImageFilter::computePartialDerivatives(), VISP_NAMESPACE_NAME::connectedComponents(), vpColormap::convert(), vpImageConvert::convert(), vp1394TwoGrabber::dequeue(), vpCannyEdgeDetection::detect(), vpImage< Type >::doubleSizeImage(), vpImageTools::extract(), vpImageFilter::filter(), vpImageTools::flip(), vpRealSense2::getColorFrame(), vpImageFilter::getGaussXPyramidal(), vpImageFilter::getGaussYPyramidal(), vpRobotBebop2::getGrayscaleImage(), vpRealSense2::getGreyFrame(), vpSimulator::getInternalImage(), vpPanda3DRGBRenderer::getRender(), vpPanda3DGeometryRenderer::getRender(), vpPanda3DPostProcessFilter::getRenderBasic(), vpAROgre::getRenderingOutput(), vpRobotBebop2::getRGBaImage(), vpImage< Type >::halfSizeImage(), vpImageTools::imageAdd(), vpImageTools::imageDifference(), vpImageTools::imageDifferenceAbsolute(), vpImageTools::imageSubtract(), vpProjectionDisplay::init(), vpImageTools::inMask(), vpImageTools::integralImage(), vpLuminancePCA::inverse(), vpLuminanceDCT::inverse(), vpImageConvert::merge(), vp1394CMUGrabber::open(), vpV4l2Grabber::open(), vpImage< Type >::quarterSizeImage(), vpImageTools::remap(), vpImageTools::resize(), vpImageFilter::sepFilter(), vpMbDepthDenseTracker::setPose(), vpImageConvert::split(), vpImage< Type >::sub(), vpImage< Type >::subsample(), vpImageTools::templateMatching(), vpImageTools::undistort(), vpImage< Type >::vpImage(), vpKinect::vpKinect(), vpImageTools::warpImage(), and vpKinect::warpRGBFrame().
void vpImage< Type >::resize | ( | unsigned int | h, |
unsigned int | w, | ||
const Type & | val | ||
) |
resize the image : Image initialization
Allocate memory for an [height x width] image and initialize the image.
w | : Image width. |
h | : Image height. |
val | : Pixels value. |
Element of the bitmap are not initialized
If the image has been already initialized, memory allocation is done only if the new image size is different, else we re-use the same memory space.
vpException::memoryAllocationError |
Definition at line 565 of file vpImage.h.
References vpImage< Type >::init().
void vpImage< Type >::sub | ( | const vpImage< Type > & | A, |
const vpImage< Type > & | B, | ||
vpImage< Type > & | C | ||
) | const |
Operation C = A - B.
The result is placed in the third parameter C and not returned. A new image won't be allocated for every use of the function (Speed gain if used many times with the same result matrix size).
vpException::memoryAllocationError | If the images size differ. |
Definition at line 950 of file vpImage.h.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpException::memoryAllocationError, and vpImage< Type >::resize().
void vpImage< Type >::sub | ( | const vpImage< Type > & | B, |
vpImage< Type > & | C | ||
) | const |
Operation C = *this - B.
The result is placed in the third parameter C and not returned. A new image won't be allocated for every use of the function (Speed gain if used many times with the same result matrix size).
vpException::memoryAllocationError | If the images size differ. |
Definition at line 915 of file vpImage.h.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpException::memoryAllocationError, and vpImage< Type >::resize().
void vpImage< Type >::subsample | ( | unsigned int | v_scale, |
unsigned int | h_scale, | ||
vpImage< Type > & | sampled | ||
) | const |
Computes a subsampled image. No filtering is used during the sub sampling.
v_scale | [in] : Vertical subsampling factor. |
h_scale | [in] : Horizontal subsampling factor. |
sampled | [out] : Subsampled image. |
The example below shows how to use this method:
Definition at line 755 of file vpImage.h.
References vpImage< Type >::resize().
Referenced by VISP_NAMESPACE_NAME::gammaCorrectionSpatialBased().
|
related |
Look for the minimum and the maximum value within the double bitmap.
min | : The minimal value within the bitmap. |
max | : The maximal value within the bitmap. |
onlyFiniteVal | : If true, consider only finite values. |
Definition at line 550 of file vpImage_getters.h.
References vpImage< Type >::bitmap, vpException::fatalError, and vpMath::isFinite().
|
related |
Look for the minimum and the maximum value within the float bitmap.
min | : The minimal value within the bitmap. |
max | : The maximal value within the bitmap. |
onlyFiniteVal | : If true, consider only finite values. |
Definition at line 593 of file vpImage_getters.h.
References vpImage< Type >::bitmap, vpException::fatalError, and vpMath::isFinite().
|
related |
Definition at line 321 of file vpImage_getters.h.
References vpImagePoint::get_i(), vpImagePoint::get_j(), and vpImage< Type >::getValue().
|
related |
Definition at line 108 of file vpImage_getters.h.
References vpImageException::notInitializedError, and vpImageException::notInTheImage.
Referenced by vpImage< Type >::getValue().
|
related |
|
related |
|
related |
Definition at line 378 of file vpImage.h.
Referenced by vpImage< Type >::init(), vpImage< Type >::resize(), and vpKeyboard::vpKeyboard().
|
friend |
Definition at line 93 of file vpImage_operators.h.
|
friend |
Definition at line 152 of file vpImage_operators.h.
|
friend |
Definition at line 122 of file vpImage_operators.h.
|
friend |
Definition at line 39 of file vpImage_operators.h.
|
friend |
Definition at line 64 of file vpImage_operators.h.
|
related |
Modify the intensities of a grayscale image using the look-up table passed in parameter.
lut | : Look-up table (unsigned char array of size=256) which maps each intensity to his new value. |
nbThreads | : Number of threads to use for the computation. |
Definition at line 191 of file vpImage_lut.h.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getSize(), and vpImage< Type >::getWidth().
|
related |
Modify the intensities of a color image using the look-up table passed in parameter.
lut | : Look-up table (vpRGBa array of size=256) which maps each intensity to his new value. |
nbThreads | : Number of threads to use for the computation. |
Definition at line 270 of file vpImage_lut.h.
References vpImage< Type >::bitmap, vpImage< Type >::getHeight(), vpImage< Type >::getSize(), and vpImage< Type >::getWidth().
|
related |
|
related |
|
related |
|
friend |
Type* vpImage< Type >::bitmap |
points toward the bitmap
Definition at line 135 of file vpImage.h.
Referenced by vpOccipitalStructure::acquire(), vp1394CMUGrabber::acquire(), vpPylonGrabberGigE::acquire(), vpPylonGrabberUsb::acquire(), vpFlyCaptureGrabber::acquire(), vpV4l2Grabber::acquire(), vp1394TwoGrabber::acquire(), vpImageTools::binarise(), vpHistogram::calculate(), VISP_NAMESPACE_NAME::clahe(), vpImageConvert::convert(), vpImageConvert::depthToPointCloud(), vp1394TwoGrabber::dequeue(), vpDetectorDataMatrixCode::detect(), VISP_NAMESPACE_NAME::equalizeHistogram(), VISP_NAMESPACE_NAME::findContours(), vpImageTools::flip(), VISP_NAMESPACE_NAME::gammaCorrection(), VISP_NAMESPACE_NAME::gammaCorrectionSpatialBased(), vpRealSense2::getColorFrame(), vpRobotBebop2::getGrayscaleImage(), vpRealSense2::getGreyFrame(), vpImageSimulator::getImage(), vpSimulator::getInternalImage(), vpImage< Type >::getMinMaxValue(), vpAROgre::getRenderingOutput(), vpRobotBebop2::getRGBaImage(), vpImage< Type >::getStdev(), vpImage< Type >::getSum(), vpImageTools::imageAdd(), vpImageTools::imageDifference(), vpImageTools::imageDifferenceAbsolute(), vpImageTools::imageSubtract(), vpImageTools::inMask(), vpImage< Type >::insert(), vpImageConvert::merge(), VISP_NAMESPACE_NAME::MSRCR(), vpImageTools::normalizedCorrelation(), vpImage< Type >::operator()(), vpImage< Type >::operator=(), vpImage< Type >::operator==(), vpImage< Type >::performLut(), vpColorDepthConversion::projectColorToDepth(), vpImageTools::remap(), vpImageConvert::split(), VISP_NAMESPACE_NAME::stretchContrastHSV(), vpImage< Type >::sub(), vpImageTools::templateMatching(), vpImageTools::undistort(), VISP_NAMESPACE_NAME::unsharpMask(), vpAROgre::updateBackgroundTexture(), and vpImage< Type >::vpImage().
Definition at line 136 of file vpImage.h.
Referenced by vpTemplateTracker::display(), vpWireFrameSimulator::getExternalImage(), vpDisplay::getImage(), vpWireFrameSimulator::getInternalImage(), vpDisplayGTK::init(), vpDisplayOpenCV::init(), and vpDisplayWin32::init().