OpenPose
1.0.0rc2
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
|
Functions | |
template<typename T > | |
OP_API void | maximumCpu (T *targetPtr, const T *const sourcePtr, const std::array< int, 4 > &targetSize, const std::array< int, 4 > &sourceSize) |
template<typename T > | |
OP_API void | maximumGpu (T *targetPtr, const T *const sourcePtr, const std::array< int, 4 > &targetSize, const std::array< int, 4 > &sourceSize) |
template<typename T > | |
OP_API void | nmsCpu (T *targetPtr, int *kernelPtr, const T *const sourcePtr, const T threshold, const std::array< int, 4 > &targetSize, const std::array< int, 4 > &sourceSize) |
template<typename T > | |
OP_API void | nmsGpu (T *targetPtr, int *kernelPtr, const T *const sourcePtr, const T threshold, const std::array< int, 4 > &targetSize, const std::array< int, 4 > &sourceSize) |
template<typename T > | |
Rectangle< T > | recenter (const Rectangle< T > &rectangle, const T newWidth, const T newHeight) |
template<typename T > | |
OP_API void | resizeAndMergeCpu (T *targetPtr, const std::vector< const T * > &sourcePtrs, const std::array< int, 4 > &targetSize, const std::vector< std::array< int, 4 >> &sourceSizes, const std::vector< T > &scaleInputToNetInputs={1.f}) |
template<typename T > | |
OP_API void | resizeAndMergeGpu (T *targetPtr, const std::vector< const T * > &sourcePtrs, const std::array< int, 4 > &targetSize, const std::vector< std::array< int, 4 >> &sourceSizes, const std::vector< T > &scaleInputToNetInputs={1.f}) |
COMPILE_TEMPLATE_DATUM (WCvMatToOpInput) | |
COMPILE_TEMPLATE_DATUM (WCvMatToOpOutput) | |
COMPILE_TEMPLATE_DATUM (WKeypointScaler) | |
COMPILE_TEMPLATE_DATUM (WOpOutputToCvMat) | |
COMPILE_TEMPLATE_DATUM (WScaleAndSizeExtractor) | |
OP_API const cv::Mat | getIntrinsics (const int cameraIndex) |
OP_API const cv::Mat | getDistorsion (const int cameraIndex) |
OP_API const cv::Mat | getM (const int cameraIndex) |
OP_API std::vector< cv::Mat > | getMs () |
OP_API unsigned long long | getNumberCameras () |
COMPILE_TEMPLATE_DATUM (WPersonIdExtractor) | |
OP_API void | renderFaceKeypointsCpu (Array< float > &frameArray, const Array< float > &faceKeypoints, const float renderThreshold) |
OP_API void | renderFaceKeypointsGpu (float *framePtr, const Point< int > &frameSize, const float *const facePtr, const int numberPeople, const float renderThreshold, const float alphaColorToAdd=FACE_DEFAULT_ALPHA_KEYPOINT) |
COMPILE_TEMPLATE_DATUM (WFaceDetector) | |
COMPILE_TEMPLATE_DATUM (WFaceDetectorOpenCV) | |
COMPILE_TEMPLATE_DATUM (WFaceExtractor) | |
COMPILE_TEMPLATE_DATUM (WFaceRenderer) | |
OP_API DataFormat | stringToDataFormat (const std::string &dataFormat) |
OP_API void | saveFloatArray (const Array< float > &array, const std::string &fullFilePath) |
OP_API void | saveData (const std::vector< cv::Mat > &cvMats, const std::vector< std::string > &cvMatNames, const std::string &fileNameNoExtension, const DataFormat format) |
OP_API void | saveData (const cv::Mat &cvMat, const std::string cvMatName, const std::string &fileNameNoExtension, const DataFormat format) |
OP_API std::vector< cv::Mat > | loadData (const std::vector< std::string > &cvMatNames, const std::string &fileNameNoExtension, const DataFormat format) |
OP_API cv::Mat | loadData (const std::string &cvMatName, const std::string &fileNameNoExtension, const DataFormat format) |
OP_API void | savePeopleJson (const Array< float > &keypoints, const std::vector< std::vector< std::array< float, 3 >>> &candidates, const std::string &keypointName, const std::string &fileName, const bool humanReadable) |
OP_API void | savePeopleJson (const std::vector< std::pair< Array< float >, std::string >> &keypointVector, const std::vector< std::vector< std::array< float, 3 >>> &candidates, const std::string &fileName, const bool humanReadable) |
OP_API void | saveImage (const cv::Mat &cvMat, const std::string &fullFilePath, const std::vector< int > &openCvCompressionParams={CV_IMWRITE_JPEG_QUALITY, 100, CV_IMWRITE_PNG_COMPRESSION, 9}) |
OP_API cv::Mat | loadImage (const std::string &fullFilePath, const int openCvFlags=CV_LOAD_IMAGE_ANYDEPTH) |
OP_API std::vector< std::array < Rectangle< float >, 2 > > | loadHandDetectorTxt (const std::string &txtFilePath) |
COMPILE_TEMPLATE_DATUM (WCocoJsonSaver) | |
COMPILE_TEMPLATE_DATUM (WFaceSaver) | |
COMPILE_TEMPLATE_DATUM (WHandSaver) | |
COMPILE_TEMPLATE_DATUM (WHeatMapSaver) | |
COMPILE_TEMPLATE_DATUM (WImageSaver) | |
COMPILE_TEMPLATE_DATUM (WPeopleJsonSaver) | |
COMPILE_TEMPLATE_DATUM (WPoseSaver) | |
COMPILE_TEMPLATE_DATUM (WVideoSaver) | |
OP_API void | cudaCheck (const int line=-1, const std::string &function="", const std::string &file="") |
OP_API int | getCudaGpuNumber () |
unsigned int | getNumberCudaBlocks (const unsigned int totalRequired, const unsigned int numberCudaThreads=CUDA_NUM_THREADS) |
OP_API void | getNumberCudaThreadsAndBlocks (dim3 &numberCudaThreads, dim3 &numberCudaBlocks, const Point< int > &frameSize) |
OP_API int | getGpuNumber () |
OP_API GpuMode | getGpuMode () |
COMPILE_TEMPLATE_DATUM (WGui) | |
COMPILE_TEMPLATE_DATUM (WGuiInfoAdder) | |
OP_API void | renderHandKeypointsCpu (Array< float > &frameArray, const std::array< Array< float >, 2 > &handKeypoints, const float renderThreshold) |
OP_API void | renderHandKeypointsGpu (float *framePtr, const Point< int > &frameSize, const float *const handsPtr, const int numberHands, const float renderThreshold, const float alphaColorToAdd=HAND_DEFAULT_ALPHA_KEYPOINT) |
COMPILE_TEMPLATE_DATUM (WHandDetector) | |
COMPILE_TEMPLATE_DATUM (WHandDetectorFromTxt) | |
COMPILE_TEMPLATE_DATUM (WHandDetectorTracking) | |
COMPILE_TEMPLATE_DATUM (WHandDetectorUpdate) | |
COMPILE_TEMPLATE_DATUM (WHandExtractor) | |
COMPILE_TEMPLATE_DATUM (WHandRenderer) | |
template<typename T > | |
OP_API void | connectBodyPartsCpu (Array< T > &poseKeypoints, Array< T > &poseScores, const T *const heatMapPtr, const T *const peaksPtr, const PoseModel poseModel, const Point< int > &heatMapSize, const int maxPeaks, const T interMinAboveThreshold, const T interThreshold, const int minSubsetCnt, const T minSubsetScore, const T scaleFactor=1.f) |
template<typename T > | |
OP_API void | connectBodyPartsGpu (Array< T > &poseKeypoints, Array< T > &poseScores, const T *const heatMapPtr, const T *const peaksPtr, const PoseModel poseModel, const Point< int > &heatMapSize, const int maxPeaks, const T interMinAboveThreshold, const T interThreshold, const int minSubsetCnt, const T minSubsetScore, const T scaleFactor=1.f, const T *const heatMapGpuPtr=nullptr, const T *const peaksGpuPtr=nullptr) |
OP_API const std::map < unsigned int, std::string > & | getPoseBodyPartMapping (const PoseModel poseModel) |
OP_API const std::string & | getPoseProtoTxt (const PoseModel poseModel) |
OP_API const std::string & | getPoseTrainedModel (const PoseModel poseModel) |
OP_API unsigned int | getPoseNumberBodyParts (const PoseModel poseModel) |
OP_API const std::vector < unsigned int > & | getPosePartPairs (const PoseModel poseModel) |
OP_API const std::vector < unsigned int > & | getPoseMapIndex (const PoseModel poseModel) |
OP_API unsigned int | getPoseMaxPeaks (const PoseModel poseModel) |
OP_API float | getPoseNetDecreaseFactor (const PoseModel poseModel) |
OP_API unsigned int | poseBodyPartMapStringToKey (const PoseModel poseModel, const std::string &string) |
OP_API unsigned int | poseBodyPartMapStringToKey (const PoseModel poseModel, const std::vector< std::string > &strings) |
OP_API float | getPoseDefaultNmsThreshold (const PoseModel poseModel) |
OP_API float | getPoseDefaultConnectInterMinAboveThreshold (const PoseModel poseModel) |
OP_API float | getPoseDefaultConnectInterThreshold (const PoseModel poseModel) |
OP_API unsigned int | getPoseDefaultMinSubsetCnt (const PoseModel poseModel) |
OP_API float | getPoseDefaultConnectMinSubsetScore (const PoseModel poseModel) |
OP_API const std::vector< float > & | getPoseScales (const PoseModel poseModel) |
OP_API const std::vector< float > & | getPoseColors (const PoseModel poseModel) |
OP_API const std::vector < unsigned int > & | getPoseBodyPartPairsRender (const PoseModel poseModel) |
OP_API unsigned int | getNumberElementsToRender (const PoseModel poseModel) |
OP_API void | renderPoseKeypointsCpu (Array< float > &frameArray, const Array< float > &poseKeypoints, const PoseModel poseModel, const float renderThreshold, const bool blendOriginalFrame=true) |
OP_API void | renderPoseKeypointsGpu (float *framePtr, const PoseModel poseModel, const int numberPeople, const Point< int > &frameSize, const float *const posePtr, const float renderThreshold, const bool googlyEyes=false, const bool blendOriginalFrame=true, const float alphaBlending=POSE_DEFAULT_ALPHA_KEYPOINT) |
OP_API void | renderPoseHeatMapGpu (float *frame, const PoseModel poseModel, const Point< int > &frameSize, const float *const heatmap, const Point< int > &heatmapSize, const float scaleToKeepRatio, const int part, const float alphaBlending=POSE_DEFAULT_ALPHA_HEAT_MAP) |
OP_API void | renderPoseHeatMapsGpu (float *frame, const PoseModel poseModel, const Point< int > &frameSize, const float *const heatmap, const Point< int > &heatmapSize, const float scaleToKeepRatio, const float alphaBlending=POSE_DEFAULT_ALPHA_HEAT_MAP) |
OP_API void | renderPosePAFGpu (float *framePtr, const PoseModel poseModel, const Point< int > &frameSize, const float *const heatmapPtr, const Point< int > &heatmapSize, const float scaleToKeepRatio, const int part, const float alphaBlending=POSE_DEFAULT_ALPHA_HEAT_MAP) |
OP_API void | renderPosePAFsGpu (float *framePtr, const PoseModel poseModel, const Point< int > &frameSize, const float *const heatmapPtr, const Point< int > &heatmapSize, const float scaleToKeepRatio, const float alphaBlending=POSE_DEFAULT_ALPHA_HEAT_MAP) |
COMPILE_TEMPLATE_DATUM (WPoseExtractor) | |
COMPILE_TEMPLATE_DATUM (WPoseRenderer) | |
COMPILE_TEMPLATE_DATUM (PriorityQueue) | |
COMPILE_TEMPLATE_DATUM (Queue) | |
COMPILE_TEMPLATE_DATUM (SubThread) | |
COMPILE_TEMPLATE_DATUM (Thread) | |
COMPILE_TEMPLATE_DATUM (ThreadManager) | |
COMPILE_TEMPLATE_DATUM (WIdGenerator) | |
COMPILE_TEMPLATE_DATUM (Worker) | |
COMPILE_TEMPLATE_DATUM (WorkerConsumer) | |
COMPILE_TEMPLATE_DATUM (WorkerProducer) | |
COMPILE_TEMPLATE_DATUM (WQueueOrderer) | |
template<typename T > | |
void | check (const bool condition, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T , typename T1 , typename T2 > | |
void | checkE (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T , typename T1 , typename T2 > | |
void | checkNE (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T , typename T1 , typename T2 > | |
void | checkLE (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T , typename T1 , typename T2 > | |
void | checkLT (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T , typename T1 , typename T2 > | |
void | checkGE (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T , typename T1 , typename T2 > | |
void | checkGT (const T1 &conditionA, const T2 &conditionB, const T &message="", const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T > | |
std::string | tToString (const T &message) |
OP_API void | error (const std::string &message, const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T > | |
void | error (const T &message, const int line=-1, const std::string &function="", const std::string &file="") |
OP_API void | log (const std::string &message, const Priority priority=Priority::Max, const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T > | |
void | log (const T &message, const Priority priority=Priority::Max, const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T > | |
void | dLog (const T &message, const Priority priority=Priority::Max, const int line=-1, const std::string &function="", const std::string &file="") |
template<typename T > | |
char | charRound (const T a) |
template<typename T > | |
signed char | sCharRound (const T a) |
template<typename T > | |
int | intRound (const T a) |
template<typename T > | |
long | longRound (const T a) |
template<typename T > | |
long long | longLongRound (const T a) |
template<typename T > | |
unsigned char | uCharRound (const T a) |
template<typename T > | |
unsigned int | uIntRound (const T a) |
template<typename T > | |
unsigned long | ulongRound (const T a) |
template<typename T > | |
unsigned long long | uLongLongRound (const T a) |
template<typename T > | |
T | fastMax (const T a, const T b) |
template<typename T > | |
T | fastMin (const T a, const T b) |
template<class T > | |
T | fastTruncate (T value, T min=0, T max=1) |
OP_API void | makeDirectory (const std::string &directoryPath) |
OP_API bool | existDirectory (const std::string &directoryPath) |
OP_API bool | existFile (const std::string &filePath) |
OP_API std::string | formatAsDirectory (const std::string &directoryPathString) |
OP_API std::string | getFileNameAndExtension (const std::string &fullPath) |
OP_API std::string | getFileNameNoExtension (const std::string &fullPath) |
OP_API std::string | getFileExtension (const std::string &fullPath) |
OP_API std::vector< std::string > | getFilesOnDirectory (const std::string &directoryPath, const std::vector< std::string > &extensions={}) |
OP_API std::vector< std::string > | getFilesOnDirectory (const std::string &directoryPath, const std::string &extension) |
OP_API PoseModel | flagsToPoseModel (const std::string &poseModeString) |
OP_API ScaleMode | flagsToScaleMode (const int keypointScale) |
OP_API ScaleMode | flagsToHeatMapScaleMode (const int heatMapScale) |
OP_API ProducerType | flagsToProducerType (const std::string &imageDirectory, const std::string &videoPath, const std::string &ipCameraPath, const int webcamIndex) |
OP_API std::shared_ptr< Producer > | flagsToProducer (const std::string &imageDirectory, const std::string &videoPath, const std::string &ipCameraPath, const int webcamIndex, const std::string &webcamResolution="1280x720", const double webcamFps=30.) |
OP_API std::vector< HeatMapType > | flagsToHeatMaps (const bool heatMapsAddParts=false, const bool heatMapsAddBkg=false, const bool heatMapsAddPAFs=false) |
OP_API RenderMode | flagsToRenderMode (const int renderFlag, const int renderPoseFlag=-2) |
OP_API Point< int > | flagsToPoint (const std::string &pointString, const std::string &pointExample="1280x720") |
OP_API float | getDistance (const Array< float > &keypoints, const int person, const int elementA, const int elementB) |
OP_API void | averageKeypoints (Array< float > &keypointsA, const Array< float > &keypointsB, const int personA) |
OP_API void | scaleKeypoints (Array< float > &keypoints, const float scale) |
OP_API void | scaleKeypoints (Array< float > &keypoints, const float scaleX, const float scaleY) |
OP_API void | scaleKeypoints (Array< float > &keypoints, const float scaleX, const float scaleY, const float offsetX, const float offsetY) |
OP_API void | renderKeypointsCpu (Array< float > &frameArray, const Array< float > &keypoints, const std::vector< unsigned int > &pairs, const std::vector< float > colors, const float thicknessCircleRatio, const float thicknessLineRatioWRTCircle, const std::vector< float > &poseScales, const float threshold) |
OP_API Rectangle< float > | getKeypointsRectangle (const Array< float > &keypoints, const int person, const float threshold) |
OP_API float | getAverageScore (const Array< float > &keypoints, const int person) |
OP_API float | getKeypointsArea (const Array< float > &keypoints, const int person, const float threshold) |
OP_API int | getBiggestPerson (const Array< float > &keypoints, const float threshold) |
OP_API void | putTextOnCvMat (cv::Mat &cvMat, const std::string &textToDisplay, const Point< int > &position, const cv::Scalar &color, const bool normalizeWidth) |
OP_API void | floatPtrToUCharCvMat (cv::Mat &uCharCvMat, const float *const floatPtrImage, const std::array< int, 3 > resolutionSize) |
OP_API void | unrollArrayToUCharCvMat (cv::Mat &cvMatResult, const Array< float > &array) |
OP_API void | uCharCvMatToFloatPtr (float *floatPtrImage, const cv::Mat &cvImage, const bool normalize) |
OP_API double | resizeGetScaleFactor (const Point< int > &initialSize, const Point< int > &targetSize) |
OP_API cv::Mat | resizeFixedAspectRatio (const cv::Mat &cvMat, const double scaleFactor, const Point< int > &targetSize, const int borderMode=cv::BORDER_CONSTANT, const cv::Scalar &borderValue=cv::Scalar{0, 0, 0}) |
template<typename TPointerContainer > | |
bool | checkNoNullNorEmpty (const TPointerContainer &tPointerContainer) |
template<typename T > | |
bool | vectorsAreEqual (const std::vector< T > &vectorA, const std::vector< T > &vectorB) |
template<typename T > | |
std::vector< T > | mergeVectors (const std::vector< T > &vectorA, const std::vector< T > &vectorB) |
OP_API unsigned long long | getLastNumber (const std::string &string) |
template<typename T > | |
OP_API std::string | toFixedLengthString (const T number, const unsigned long long stringLength=0) |
OP_API std::vector< std::string > | splitString (const std::string &stringToSplit, const std::string &delimiter) |
OP_API std::string | toLower (const std::string &string) |
OP_API std::string | toUpper (const std::string &string) |
OP_API void | wrapperConfigureSecurityChecks (const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode) |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
An enum class in which all the possible type of pose estimation models are included.
Enumerator | |
---|---|
COCO_18 |
COCO model, with 18+1 components (see poseParameters.hpp for details). |
MPI_15 |
MPI model, with 15+1 components (see poseParameters.hpp for details). |
MPI_15_4 |
Variation of the MPI model, reduced number of CNN stages to 4: faster but less accurate. |
BODY_18 |
Experimental. Do not use. |
BODY_19 |
Experimental. Do not use. |
BODY_19_X2 |
Experimental. Do not use. |
BODY_23 |
Experimental. Do not use. |
BODY_59 |
Experimental. Do not use. |
Size |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Type of producers An enum class in which all the possible type of Producer are included. In order to add a new Producer, include its name in this enum and add a new 'else if' statement inside ProducerFactory::createProducer().
Enumerator | |
---|---|
ImageDirectory |
An image directory reader. It is able to read images on a folder with a interface similar to the OpenCV cv::VideoCapture. |
IPCamera |
An IP camera frames extractor, extending the functionality of cv::VideoCapture. |
Video |
A video frames extractor, extending the functionality of cv::VideoCapture. |
Webcam |
A webcam frames extractor, extending the functionality of cv::VideoCapture. |
None |
No type defined. Default state when no specific Producer has been picked yet. |
|
strong |
|
strong |
|
strong |
ThreadManager synchronization mode.
Enumerator | |
---|---|
Asynchronous |
First and last queues of ThreadManager will be given to the user, so he must push elements to the first queue and retrieve them from the last one after being processed. Recommended for prototyping environments (easier to test but more error-prone and potentially slower in performance). |
AsynchronousIn |
Similar to Asynchronous, but only the input (first) queue is given to the user. |
AsynchronousOut |
Similar to Asynchronous, but only the output (last) queue is given to the user. |
Synchronous |
Everything will run inside the ThreadManager. Recommended for production environments (more difficult to set up but faster in performance and less error-prone). |
OP_API void op::averageKeypoints | ( | Array< float > & | keypointsA, |
const Array< float > & | keypointsB, | ||
const int | personA | ||
) |
|
inline |
void op::check | ( | const bool | condition, |
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
void op::checkE | ( | const T1 & | conditionA, |
const T2 & | conditionB, | ||
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
void op::checkGE | ( | const T1 & | conditionA, |
const T2 & | conditionB, | ||
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
void op::checkGT | ( | const T1 & | conditionA, |
const T2 & | conditionB, | ||
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
void op::checkLE | ( | const T1 & | conditionA, |
const T2 & | conditionB, | ||
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
void op::checkLT | ( | const T1 & | conditionA, |
const T2 & | conditionB, | ||
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
void op::checkNE | ( | const T1 & | conditionA, |
const T2 & | conditionB, | ||
const T & | message = "" , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
|
inline |
op::COMPILE_TEMPLATE_DATUM | ( | WorkerConsumer | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WorkerProducer | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WIdGenerator | ) |
op::COMPILE_TEMPLATE_DATUM | ( | Worker | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WOpOutputToCvMat | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WPersonIdExtractor | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WFaceDetector | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WFaceDetectorOpenCV | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandDetector | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandDetectorFromTxt | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandDetectorTracking | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandDetectorUpdate | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WKeypointScaler | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WFaceRenderer | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandRenderer | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WCvMatToOpInput | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WGuiInfoAdder | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WCocoJsonSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WVideoSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WPoseRenderer | ) |
op::COMPILE_TEMPLATE_DATUM | ( | PriorityQueue | ) |
op::COMPILE_TEMPLATE_DATUM | ( | Queue | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WImageSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WCvMatToOpOutput | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WScaleAndSizeExtractor | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WFaceSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WPoseSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WFaceExtractor | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHeatMapSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandExtractor | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WHandSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WPoseExtractor | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WPeopleJsonSaver | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WGui | ) |
op::COMPILE_TEMPLATE_DATUM | ( | WQueueOrderer | ) |
op::COMPILE_TEMPLATE_DATUM | ( | SubThread | ) |
op::COMPILE_TEMPLATE_DATUM | ( | Thread | ) |
op::COMPILE_TEMPLATE_DATUM | ( | ThreadManager | ) |
OP_API void op::connectBodyPartsCpu | ( | Array< T > & | poseKeypoints, |
Array< T > & | poseScores, | ||
const T *const | heatMapPtr, | ||
const T *const | peaksPtr, | ||
const PoseModel | poseModel, | ||
const Point< int > & | heatMapSize, | ||
const int | maxPeaks, | ||
const T | interMinAboveThreshold, | ||
const T | interThreshold, | ||
const int | minSubsetCnt, | ||
const T | minSubsetScore, | ||
const T | scaleFactor = 1.f |
||
) |
OP_API void op::connectBodyPartsGpu | ( | Array< T > & | poseKeypoints, |
Array< T > & | poseScores, | ||
const T *const | heatMapPtr, | ||
const T *const | peaksPtr, | ||
const PoseModel | poseModel, | ||
const Point< int > & | heatMapSize, | ||
const int | maxPeaks, | ||
const T | interMinAboveThreshold, | ||
const T | interThreshold, | ||
const int | minSubsetCnt, | ||
const T | minSubsetScore, | ||
const T | scaleFactor = 1.f , |
||
const T *const | heatMapGpuPtr = nullptr , |
||
const T *const | peaksGpuPtr = nullptr |
||
) |
OP_API void op::cudaCheck | ( | const int | line = -1 , |
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
|
inline |
OP_API void op::error | ( | const std::string & | message, |
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
|
inline |
OP_API bool op::existDirectory | ( | const std::string & | directoryPath | ) |
OP_API bool op::existFile | ( | const std::string & | filePath | ) |
|
inline |
|
inline |
|
inline |
OP_API std::vector<HeatMapType> op::flagsToHeatMaps | ( | const bool | heatMapsAddParts = false , |
const bool | heatMapsAddBkg = false , |
||
const bool | heatMapsAddPAFs = false |
||
) |
OP_API Point<int> op::flagsToPoint | ( | const std::string & | pointString, |
const std::string & | pointExample = "1280x720" |
||
) |
OP_API std::shared_ptr<Producer> op::flagsToProducer | ( | const std::string & | imageDirectory, |
const std::string & | videoPath, | ||
const std::string & | ipCameraPath, | ||
const int | webcamIndex, | ||
const std::string & | webcamResolution = "1280x720" , |
||
const double | webcamFps = 30. |
||
) |
OP_API ProducerType op::flagsToProducerType | ( | const std::string & | imageDirectory, |
const std::string & | videoPath, | ||
const std::string & | ipCameraPath, | ||
const int | webcamIndex | ||
) |
OP_API RenderMode op::flagsToRenderMode | ( | const int | renderFlag, |
const int | renderPoseFlag = -2 |
||
) |
OP_API void op::floatPtrToUCharCvMat | ( | cv::Mat & | uCharCvMat, |
const float *const | floatPtrImage, | ||
const std::array< int, 3 > | resolutionSize | ||
) |
OP_API std::string op::formatAsDirectory | ( | const std::string & | directoryPathString | ) |
This function makes sure that the directoryPathString is properly formatted. I.e., it changes all '\' by '/', and it makes sure that the string finishes with '/'.
directoryPathString | std::string with the directory path to be formatted. |
OP_API float op::getAverageScore | ( | const Array< float > & | keypoints, |
const int | person | ||
) |
OP_API int op::getBiggestPerson | ( | const Array< float > & | keypoints, |
const float | threshold | ||
) |
OP_API int op::getCudaGpuNumber | ( | ) |
OP_API float op::getDistance | ( | const Array< float > & | keypoints, |
const int | person, | ||
const int | elementA, | ||
const int | elementB | ||
) |
OP_API const cv::Mat op::getDistorsion | ( | const int | cameraIndex | ) |
OP_API std::string op::getFileExtension | ( | const std::string & | fullPath | ) |
This function extracts the extension from a full path.
fullPath | std::string with the full path. |
OP_API std::string op::getFileNameAndExtension | ( | const std::string & | fullPath | ) |
This function extracts the file name and extension from a full path.
fullPath | std::string with the full path. |
OP_API std::string op::getFileNameNoExtension | ( | const std::string & | fullPath | ) |
This function extracts the file name (without extension) from a full path.
fullPath | std::string with the full path. |
OP_API std::vector<std::string> op::getFilesOnDirectory | ( | const std::string & | directoryPath, |
const std::vector< std::string > & | extensions = {} |
||
) |
This function extracts all the files in a directory path with the desired extensions. If no extensions is specified, then all the file names are returned.
directoryPath | std::string with the directory path. |
extensions | std::vector<std::string> with the extensions of the desired files. |
OP_API std::vector<std::string> op::getFilesOnDirectory | ( | const std::string & | directoryPath, |
const std::string & | extension | ||
) |
Analogous to getFilesOnDirectory(const std::string& directoryPath, const std::vector<std::string>& extensions) for 1 specific extension.
directoryPath | std::string with the directory path. |
extension | std::string with the extension of the desired files. |
OP_API int op::getGpuNumber | ( | ) |
OP_API const cv::Mat op::getIntrinsics | ( | const int | cameraIndex | ) |
OP_API float op::getKeypointsArea | ( | const Array< float > & | keypoints, |
const int | person, | ||
const float | threshold | ||
) |
OP_API Rectangle<float> op::getKeypointsRectangle | ( | const Array< float > & | keypoints, |
const int | person, | ||
const float | threshold | ||
) |
OP_API unsigned long long op::getLastNumber | ( | const std::string & | string | ) |
OP_API const cv::Mat op::getM | ( | const int | cameraIndex | ) |
OP_API std::vector<cv::Mat> op::getMs | ( | ) |
OP_API unsigned long long op::getNumberCameras | ( | ) |
|
inline |
OP_API void op::getNumberCudaThreadsAndBlocks | ( | dim3 & | numberCudaThreads, |
dim3 & | numberCudaBlocks, | ||
const Point< int > & | frameSize | ||
) |
OP_API unsigned int op::getNumberElementsToRender | ( | const PoseModel | poseModel | ) |
OP_API const std::map<unsigned int, std::string>& op::getPoseBodyPartMapping | ( | const PoseModel | poseModel | ) |
OP_API const std::vector<unsigned int>& op::getPoseBodyPartPairsRender | ( | const PoseModel | poseModel | ) |
OP_API const std::vector<float>& op::getPoseColors | ( | const PoseModel | poseModel | ) |
OP_API float op::getPoseDefaultConnectInterMinAboveThreshold | ( | const PoseModel | poseModel | ) |
OP_API float op::getPoseDefaultConnectInterThreshold | ( | const PoseModel | poseModel | ) |
OP_API float op::getPoseDefaultConnectMinSubsetScore | ( | const PoseModel | poseModel | ) |
OP_API unsigned int op::getPoseDefaultMinSubsetCnt | ( | const PoseModel | poseModel | ) |
OP_API float op::getPoseDefaultNmsThreshold | ( | const PoseModel | poseModel | ) |
OP_API const std::vector<unsigned int>& op::getPoseMapIndex | ( | const PoseModel | poseModel | ) |
OP_API unsigned int op::getPoseMaxPeaks | ( | const PoseModel | poseModel | ) |
OP_API float op::getPoseNetDecreaseFactor | ( | const PoseModel | poseModel | ) |
OP_API unsigned int op::getPoseNumberBodyParts | ( | const PoseModel | poseModel | ) |
OP_API const std::vector<unsigned int>& op::getPosePartPairs | ( | const PoseModel | poseModel | ) |
OP_API const std::string& op::getPoseProtoTxt | ( | const PoseModel | poseModel | ) |
OP_API const std::vector<float>& op::getPoseScales | ( | const PoseModel | poseModel | ) |
OP_API const std::string& op::getPoseTrainedModel | ( | const PoseModel | poseModel | ) |
|
inline |
OP_API std::vector<cv::Mat> op::loadData | ( | const std::vector< std::string > & | cvMatNames, |
const std::string & | fileNameNoExtension, | ||
const DataFormat | format | ||
) |
OP_API cv::Mat op::loadData | ( | const std::string & | cvMatName, |
const std::string & | fileNameNoExtension, | ||
const DataFormat | format | ||
) |
OP_API std::vector<std::array<Rectangle<float>, 2> > op::loadHandDetectorTxt | ( | const std::string & | txtFilePath | ) |
OP_API cv::Mat op::loadImage | ( | const std::string & | fullFilePath, |
const int | openCvFlags = CV_LOAD_IMAGE_ANYDEPTH |
||
) |
OP_API void op::log | ( | const std::string & | message, |
const Priority | priority = Priority::Max , |
||
const int | line = -1 , |
||
const std::string & | function = "" , |
||
const std::string & | file = "" |
||
) |
|
inline |
|
inline |
|
inline |
OP_API void op::makeDirectory | ( | const std::string & | directoryPath | ) |
OP_API void op::maximumCpu | ( | T * | targetPtr, |
const T *const | sourcePtr, | ||
const std::array< int, 4 > & | targetSize, | ||
const std::array< int, 4 > & | sourceSize | ||
) |
OP_API void op::maximumGpu | ( | T * | targetPtr, |
const T *const | sourcePtr, | ||
const std::array< int, 4 > & | targetSize, | ||
const std::array< int, 4 > & | sourceSize | ||
) |
std::vector<T> op::mergeVectors | ( | const std::vector< T > & | vectorA, |
const std::vector< T > & | vectorB | ||
) |
std::vector<T> concatenator. Auxiliary function that concatenate std::vectors of any class type T. It assumes basic copy (ideal for smart pointers, pointers, etc.), so note that the copy still shares the same internal data. It will not work for element that cannot be copied.
vectorA | First std::shared_ptr<T> element to be concatenated. |
vectorB | Second std::shared_ptr<T> element to be concatenated. |
OP_API void op::nmsCpu | ( | T * | targetPtr, |
int * | kernelPtr, | ||
const T *const | sourcePtr, | ||
const T | threshold, | ||
const std::array< int, 4 > & | targetSize, | ||
const std::array< int, 4 > & | sourceSize | ||
) |
OP_API void op::nmsGpu | ( | T * | targetPtr, |
int * | kernelPtr, | ||
const T *const | sourcePtr, | ||
const T | threshold, | ||
const std::array< int, 4 > & | targetSize, | ||
const std::array< int, 4 > & | sourceSize | ||
) |
OP_API unsigned int op::poseBodyPartMapStringToKey | ( | const PoseModel | poseModel, |
const std::string & | string | ||
) |
OP_API unsigned int op::poseBodyPartMapStringToKey | ( | const PoseModel | poseModel, |
const std::vector< std::string > & | strings | ||
) |
OP_API void op::putTextOnCvMat | ( | cv::Mat & | cvMat, |
const std::string & | textToDisplay, | ||
const Point< int > & | position, | ||
const cv::Scalar & | color, | ||
const bool | normalizeWidth | ||
) |
Rectangle<T> op::recenter | ( | const Rectangle< T > & | rectangle, |
const T | newWidth, | ||
const T | newHeight | ||
) |
OP_API void op::renderFaceKeypointsCpu | ( | Array< float > & | frameArray, |
const Array< float > & | faceKeypoints, | ||
const float | renderThreshold | ||
) |
OP_API void op::renderFaceKeypointsGpu | ( | float * | framePtr, |
const Point< int > & | frameSize, | ||
const float *const | facePtr, | ||
const int | numberPeople, | ||
const float | renderThreshold, | ||
const float | alphaColorToAdd = FACE_DEFAULT_ALPHA_KEYPOINT |
||
) |
OP_API void op::renderHandKeypointsCpu | ( | Array< float > & | frameArray, |
const std::array< Array< float >, 2 > & | handKeypoints, | ||
const float | renderThreshold | ||
) |
OP_API void op::renderHandKeypointsGpu | ( | float * | framePtr, |
const Point< int > & | frameSize, | ||
const float *const | handsPtr, | ||
const int | numberHands, | ||
const float | renderThreshold, | ||
const float | alphaColorToAdd = HAND_DEFAULT_ALPHA_KEYPOINT |
||
) |
OP_API void op::renderKeypointsCpu | ( | Array< float > & | frameArray, |
const Array< float > & | keypoints, | ||
const std::vector< unsigned int > & | pairs, | ||
const std::vector< float > | colors, | ||
const float | thicknessCircleRatio, | ||
const float | thicknessLineRatioWRTCircle, | ||
const std::vector< float > & | poseScales, | ||
const float | threshold | ||
) |
OP_API void op::renderPoseHeatMapGpu | ( | float * | frame, |
const PoseModel | poseModel, | ||
const Point< int > & | frameSize, | ||
const float *const | heatmap, | ||
const Point< int > & | heatmapSize, | ||
const float | scaleToKeepRatio, | ||
const int | part, | ||
const float | alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP |
||
) |
OP_API void op::renderPoseHeatMapsGpu | ( | float * | frame, |
const PoseModel | poseModel, | ||
const Point< int > & | frameSize, | ||
const float *const | heatmap, | ||
const Point< int > & | heatmapSize, | ||
const float | scaleToKeepRatio, | ||
const float | alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP |
||
) |
OP_API void op::renderPoseKeypointsCpu | ( | Array< float > & | frameArray, |
const Array< float > & | poseKeypoints, | ||
const PoseModel | poseModel, | ||
const float | renderThreshold, | ||
const bool | blendOriginalFrame = true |
||
) |
OP_API void op::renderPoseKeypointsGpu | ( | float * | framePtr, |
const PoseModel | poseModel, | ||
const int | numberPeople, | ||
const Point< int > & | frameSize, | ||
const float *const | posePtr, | ||
const float | renderThreshold, | ||
const bool | googlyEyes = false , |
||
const bool | blendOriginalFrame = true , |
||
const float | alphaBlending = POSE_DEFAULT_ALPHA_KEYPOINT |
||
) |
OP_API void op::renderPosePAFGpu | ( | float * | framePtr, |
const PoseModel | poseModel, | ||
const Point< int > & | frameSize, | ||
const float *const | heatmapPtr, | ||
const Point< int > & | heatmapSize, | ||
const float | scaleToKeepRatio, | ||
const int | part, | ||
const float | alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP |
||
) |
OP_API void op::renderPosePAFsGpu | ( | float * | framePtr, |
const PoseModel | poseModel, | ||
const Point< int > & | frameSize, | ||
const float *const | heatmapPtr, | ||
const Point< int > & | heatmapSize, | ||
const float | scaleToKeepRatio, | ||
const float | alphaBlending = POSE_DEFAULT_ALPHA_HEAT_MAP |
||
) |
OP_API void op::resizeAndMergeCpu | ( | T * | targetPtr, |
const std::vector< const T * > & | sourcePtrs, | ||
const std::array< int, 4 > & | targetSize, | ||
const std::vector< std::array< int, 4 >> & | sourceSizes, | ||
const std::vector< T > & | scaleInputToNetInputs = {1.f} |
||
) |
OP_API void op::resizeAndMergeGpu | ( | T * | targetPtr, |
const std::vector< const T * > & | sourcePtrs, | ||
const std::array< int, 4 > & | targetSize, | ||
const std::vector< std::array< int, 4 >> & | sourceSizes, | ||
const std::vector< T > & | scaleInputToNetInputs = {1.f} |
||
) |
OP_API cv::Mat op::resizeFixedAspectRatio | ( | const cv::Mat & | cvMat, |
const double | scaleFactor, | ||
const Point< int > & | targetSize, | ||
const int | borderMode = cv::BORDER_CONSTANT , |
||
const cv::Scalar & | borderValue = cv::Scalar{0, 0, 0} |
||
) |
OP_API double op::resizeGetScaleFactor | ( | const Point< int > & | initialSize, |
const Point< int > & | targetSize | ||
) |
OP_API void op::saveData | ( | const std::vector< cv::Mat > & | cvMats, |
const std::vector< std::string > & | cvMatNames, | ||
const std::string & | fileNameNoExtension, | ||
const DataFormat | format | ||
) |
OP_API void op::saveData | ( | const cv::Mat & | cvMat, |
const std::string | cvMatName, | ||
const std::string & | fileNameNoExtension, | ||
const DataFormat | format | ||
) |
OP_API void op::saveFloatArray | ( | const Array< float > & | array, |
const std::string & | fullFilePath | ||
) |
OP_API void op::saveImage | ( | const cv::Mat & | cvMat, |
const std::string & | fullFilePath, | ||
const std::vector< int > & | openCvCompressionParams = {CV_IMWRITE_JPEG_QUALITY, 100, CV_IMWRITE_PNG_COMPRESSION, 9} |
||
) |
OP_API void op::savePeopleJson | ( | const Array< float > & | keypoints, |
const std::vector< std::vector< std::array< float, 3 >>> & | candidates, | ||
const std::string & | keypointName, | ||
const std::string & | fileName, | ||
const bool | humanReadable | ||
) |
OP_API void op::savePeopleJson | ( | const std::vector< std::pair< Array< float >, std::string >> & | keypointVector, |
const std::vector< std::vector< std::array< float, 3 >>> & | candidates, | ||
const std::string & | fileName, | ||
const bool | humanReadable | ||
) |
OP_API void op::scaleKeypoints | ( | Array< float > & | keypoints, |
const float | scale | ||
) |
OP_API void op::scaleKeypoints | ( | Array< float > & | keypoints, |
const float | scaleX, | ||
const float | scaleY | ||
) |
OP_API void op::scaleKeypoints | ( | Array< float > & | keypoints, |
const float | scaleX, | ||
const float | scaleY, | ||
const float | offsetX, | ||
const float | offsetY | ||
) |
|
inline |
OP_API std::vector<std::string> op::splitString | ( | const std::string & | stringToSplit, |
const std::string & | delimiter | ||
) |
OP_API DataFormat op::stringToDataFormat | ( | const std::string & | dataFormat | ) |
OP_API std::string op::toFixedLengthString | ( | const T | number, |
const unsigned long long | stringLength = 0 |
||
) |
This template function turns an integer number into a fixed-length std::string.
number | T integer corresponding to the integer to be formatted. |
stringLength | unsigned long long indicating the final length. If 0, the final length is the original number length. |
OP_API std::string op::toLower | ( | const std::string & | string | ) |
OP_API std::string op::toUpper | ( | const std::string & | string | ) |
std::string op::tToString | ( | const T & | message | ) |
OP_API void op::uCharCvMatToFloatPtr | ( | float * | floatPtrImage, |
const cv::Mat & | cvImage, | ||
const bool | normalize | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
OP_API void op::unrollArrayToUCharCvMat | ( | cv::Mat & | cvMatResult, |
const Array< float > & | array | ||
) |
bool op::vectorsAreEqual | ( | const std::vector< T > & | vectorA, |
const std::vector< T > & | vectorB | ||
) |
OP_API void op::wrapperConfigureSecurityChecks | ( | const WrapperStructPose & | wrapperStructPose, |
const WrapperStructFace & | wrapperStructFace, | ||
const WrapperStructHand & | wrapperStructHand, | ||
const WrapperStructInput & | wrapperStructInput, | ||
const WrapperStructOutput & | wrapperStructOutput, | ||
const bool | renderOutput, | ||
const bool | userOutputWsEmpty, | ||
const ThreadManagerMode | threadManagerMode | ||
) |
It checks that no wrong/contradictory flags are enabled for Wrapper
wrapperStructPose | |
wrapperStructFace | |
wrapperStructHand | |
wrapperStructInput | |
wrapperStructOutput | |
renderOutput | |
userOutputWsEmpty | |
threadManagerMode |
const auto op::CUDA_NUM_THREADS = 512u |
const auto op::FACE_CCN_DECREASE_FACTOR = 8.f |
const std::vector<float> op::FACE_COLORS_RENDER {FACE_COLORS_RENDER_GPU} |
const auto op::FACE_DEFAULT_ALPHA_HEAT_MAP = POSE_DEFAULT_ALPHA_HEAT_MAP |
const auto op::FACE_DEFAULT_ALPHA_KEYPOINT = POSE_DEFAULT_ALPHA_KEYPOINT |
const auto op::FACE_MAX_FACES = POSE_MAX_PEOPLE |
const auto op::FACE_NUMBER_PARTS = 70u |
const std::vector<unsigned int> op::FACE_PAIRS_RENDER {FACE_PAIRS_RENDER_GPU} |
const std::string op::FACE_PROTOTXT {"face/pose_deploy.prototxt"} |
const std::vector<float> op::FACE_SCALES_RENDER {FACE_SCALES_RENDER_GPU} |
const std::string op::FACE_TRAINED_MODEL {"face/pose_iter_116000.caffemodel"} |
const auto op::HAND_CCN_DECREASE_FACTOR = 8.f |
const std::vector<float> op::HAND_COLORS_RENDER {HAND_COLORS_RENDER_GPU} |
const auto op::HAND_DEFAULT_ALPHA_HEAT_MAP = POSE_DEFAULT_ALPHA_HEAT_MAP |
const auto op::HAND_DEFAULT_ALPHA_KEYPOINT = POSE_DEFAULT_ALPHA_KEYPOINT |
const auto op::HAND_MAX_HANDS = 2*POSE_MAX_PEOPLE |
const auto op::HAND_NUMBER_PARTS = 21u |
const std::vector<unsigned int> op::HAND_PAIRS_RENDER {HAND_PAIRS_RENDER_GPU} |
const std::string op::HAND_PROTOTXT {"hand/pose_deploy.prototxt"} |
const std::vector<float> op::HAND_SCALES_RENDER {HAND_SCALES_RENDER_GPU} |
const std::string op::HAND_TRAINED_MODEL {"hand/pose_iter_102000.caffemodel"} |
const auto op::POSE_DEFAULT_ALPHA_HEAT_MAP = 0.7f |
const auto op::POSE_DEFAULT_ALPHA_KEYPOINT = 0.6f |
const auto op::POSE_MAX_PEOPLE = 96u |
op::spTQueueIn |
op::spTQueueOut |