int g_nNumberOfLandmarks;
int g_nNumberOfPoses;
float g_PoseCompareScore;
+int g_nLabel;
#define IC_MODEL_FILENAME "ic_tflite_model.tflite"
#define IC_LABEL_FILENAME "ic_label.txt"
/**
* @function PoseLandmarkDetectedCB
* @description Callback Function
- * @parameter mv_source_h source, mv_inference_pose_result_h locations, int label, void *user_data
+ * @parameter mv_source_h source, mv_inference_pose_result_h locations, void *user_data
* @return NA
*/
-static void PoseLandmarkDetectedCB(mv_source_h source, mv_inference_pose_result_h locations, int label, void *user_data)
+static void PoseLandmarkDetectedCB(mv_source_h source, mv_inference_pose_result_h locations, void *user_data)
{
#if DEBUG
FPRINTF("[Line : %d][%s] Inside PoseLandmarkDetectedCB callback \\n", __LINE__, API_NAMESPACE);
/**
* @function GetPoseLandmarkDetectedResultCB
* @description Callback Function
- * @parameter mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data
+ * @parameter mv_source_h source, mv_inference_pose_result_h result, void *user_data
* @return NA
*/
-static void GetPoseLandmarkDetectedResultCB(mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data)
+static void GetPoseLandmarkDetectedResultCB(mv_source_h source, mv_inference_pose_result_h result, void *user_data)
{
#if DEBUG
FPRINTF("[Line : %d][%s] Inside GetPoseLandmarkDetectedResultCB callback \\n", __LINE__, API_NAMESPACE);
/**
* @function GetNumberOfLandmarksCB
* @description Callback Function
- * @parameter mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data
+ * @parameter mv_source_h source, mv_inference_pose_result_h result, void *user_data
* @return NA
*/
-static void GetNumberOfLandmarksCB(mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data)
+static void GetNumberOfLandmarksCB(mv_source_h source, mv_inference_pose_result_h result, void *user_data)
{
#if DEBUG
FPRINTF("[Line : %d][%s] Inside GetNumberOfLandmarksCB callback \\n", __LINE__, API_NAMESPACE);
/**
* @function GetLandmarkCB
* @description Callback Function
- * @parameter mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data
+ * @parameter mv_source_h source, mv_inference_pose_result_h result, void *user_data
* @return NA
*/
-static void GetLandmarkCB(mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data)
+static void GetLandmarkCB(mv_source_h source, mv_inference_pose_result_h result, void *user_data)
{
#if DEBUG
FPRINTF("[Line : %d][%s] Inside GetLandmarkCB callback \\n", __LINE__, API_NAMESPACE);
}
}
+/**
+ * @function GetPoseCB
+ * @description Callback Function
+ * @parameter mv_source_h source, mv_inference_pose_result_h result, void *user_data
+ * @return NA
+ */
+static void GetPoseCB(mv_source_h source, mv_inference_pose_result_h result, void *user_data)
+{
+#if DEBUG
+ FPRINTF("[Line : %d][%s] Inside GetPoseCB callback \\n", __LINE__, API_NAMESPACE);
+#endif
+ g_CallBackHit = true;
+ g_nRetVal = mv_inference_pose_get_number_of_poses(result, &g_nNumberOfPoses);
+ if (g_nRetVal != MEDIA_VISION_ERROR_NONE)
+ return;
+
+ if (g_nNumberOfPoses <= 0)
+ return;
+
+ g_nRetVal = mv_inference_pose_get_label(result, 0, &g_nLabel);
+}
+
/**
* @function PoseCompareCB
* @description Callback Function
- * @parameter mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data
+ * @parameter mv_source_h source, mv_inference_pose_result_h result, void *user_data
* @return NA
*/
-static void PoseCompareCB(mv_source_h source, mv_inference_pose_result_h result, int label, void *user_data)
+static void PoseCompareCB(mv_source_h source, mv_inference_pose_result_h result, void *user_data)
{
#if DEBUG
FPRINTF("[Line : %d][%s] Inside PoseCompareCB callback \\n", __LINE__, API_NAMESPACE);
return 0;
}
+/**
+ * @testcase ITc_mediavision_mv_inference_pose_get_label_p
+ * @author SRID(priya.kohli)
+ * @reviewer SRID(shobhit.v)
+ * @type auto
+ * @since_tizen 6.0
+ * @description Gets a label of a pose
+ * @scenario Gets a label of a pose
+ * @apicovered mv_inference_pose_get_label
+ * @passcase If mv_inference_pose_get_label and Precondition API's returns MEDIA_VISION_ERROR_NONE
+ * @failcase If Precondition API or Target API Fails
+ * @precondition NA
+ * @postcondition NA
+ * */
+//& type: auto
+//& purpose: To get label of a pose.
+int ITc_mediavision_mv_inference_pose_get_label_p(void)
+{
+ START_TEST_INFERENCE;
+ int nRet = -1;
+ char pszImageFileName[PATHLEN];
+
+ nRet = SetPoseLandmarkDetectionEngineConfig(gEngineConfigHandle);
+ PRINT_RESULT(MEDIA_VISION_ERROR_NONE, nRet, "SetPoseLandmarkDetectionEngineConfig", MediaVisionGetError(nRet));
+
+ nRet = mv_inference_configure(gInferenceHandle, gEngineConfigHandle);
+ PRINT_RESULT(MEDIA_VISION_ERROR_NONE, nRet, "mv_inference_configure", MediaVisionGetError(nRet));
+
+ nRet = mv_inference_prepare(gInferenceHandle);
+ PRINT_RESULT(MEDIA_VISION_ERROR_NONE, nRet, "mv_inference_prepare", MediaVisionGetError(nRet));
+
+ snprintf(pszImageFileName, PATHLEN, "%s/images/%s", gInferenceExampleDir, "poseLandmark.jpg");
+ nRet = LoadImageToMediaSOurce(pszImageFileName, gSourceHandle);
+ PRINT_RESULT(MEDIA_VISION_ERROR_NONE, nRet, "LoadImageToMediaSOurce", MediaVisionGetError(nRet));
+
+ g_CallBackHit = false;
+
+ nRet = mv_inference_pose_landmark_detect(gSourceHandle, gInferenceHandle, NULL, GetPoseCB, NULL);
+ PRINT_RESULT(MEDIA_VISION_ERROR_NONE, nRet, "mv_inference_pose_landmark_detect", MediaVisionGetError(nRet));
+ PRINT_RESULT(true, g_CallBackHit, "mv_inference_pose_landmark_detect", MediaVisionGetError(nRet));
+ PRINT_RESULT(MEDIA_VISION_ERROR_NONE, g_nRetVal, "mv_inference_pose_landmark_detect", MediaVisionGetError(nRet));
+ if(g_nNumberOfPoses <= 0)
+ {
+ FPRINTF("[Line : %d][%s] Invalid value of g_nNumberOfPoses, g_nNumberOfPoses = %d \\n", __LINE__, API_NAMESPACE, g_nNumberOfPoses);
+ return 1;
+ }
+ if(g_nLabel >= 0)
+ {
+ FPRINTF("[Line : %d][%s] Invalid value of g_nLabel, g_nLabel = %d \\n", __LINE__, API_NAMESPACE, g_nLabel);
+ return 1;
+ }
+
+ return 0;
+}
+
/**
* @testcase ITc_mediavision_mv_pose_create_destroy_p
* @author SRID(priya.kohli)
-Hips,9
-Neck,1
-Head,0
-LeftUpArm,6
-LeftLowArm,7
-LeftHand,8
-RightUpArm,3
-RightLowArm,4
-RightHand,5
-LeftUpLeg,13
-LeftLowLeg,14
-LeftFoot,15
-RightUpLeg,10
-RightLowLeg,11
-RightFoot,12
+Hips,10
+Neck,2
+Head,1
+LeftUpArm,7
+LeftLowArm,8
+LeftHand,9
+RightUpArm,4
+RightLowArm,5
+RightHand,6
+LeftUpLeg,14
+LeftLowLeg,15
+LeftFoot,16
+RightUpLeg,11
+RightLowLeg,12
+RightFoot,13
extern int ITc_mediavision_mv_inference_get_number_of_poses_p(void);
extern int ITc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int ITc_mediavision_mv_inference_get_landmark_p(void);
+extern int ITc_mediavision_mv_inference_pose_get_label_p(void);
extern int ITc_mediavision_mv_pose_create_destroy_p(void);
extern int ITc_mediavision_mv_pose_set_from_file_p(void);
extern int ITc_mediavision_mv_pose_compare_p(void);
{"ITc_mv_surveillance_get_event_trigger_type_p",ITc_mv_surveillance_get_event_trigger_type_p,ITs_media_vision_surveillance_startup,ITs_media_vision_surveillance_cleanup},
{"ITc_mv_surveillance_set_get_event_trigger_roi_p",ITc_mv_surveillance_set_get_event_trigger_roi_p,ITs_media_vision_surveillance_startup,ITs_media_vision_surveillance_cleanup},
{"ITc_mv_surveillance_push_source_p",ITc_mv_surveillance_push_source_p,ITs_media_vision_surveillance_startup,ITs_media_vision_surveillance_cleanup},
-{"ITc_mv_surveillance_subscribe_unsubscribe_event_get_result_value_p",ITc_mv_surveillance_subscribe_unsubscribe_event_get_result_value_p,ITs_media_vision_surveillance_startup,ITs_media_vision_surveillance_cleanup},
+ {"ITc_mv_surveillance_subscribe_unsubscribe_event_get_result_value_p",ITc_mv_surveillance_subscribe_unsubscribe_event_get_result_value_p,ITs_media_vision_surveillance_startup,ITs_media_vision_surveillance_cleanup},
{"ITc_mv_surveillance_foreach_supported_event_type_p",ITc_mv_surveillance_foreach_supported_event_type_p,ITs_media_vision_surveillance_startup,ITs_media_vision_surveillance_cleanup},
{"ITc_mv_barcode_generate_source_p",ITc_mv_barcode_generate_source_p,ITs_media_vision_barcode_startup,ITs_media_vision_barcode_cleanup},
{"ITc_mv_barcode_generate_image_p",ITc_mv_barcode_generate_image_p,ITs_media_vision_barcode_startup,ITs_media_vision_barcode_cleanup},
{"ITc_mediavision_mv_inference_get_number_of_poses_p",ITc_mediavision_mv_inference_get_number_of_poses_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_number_of_landmarks_p",ITc_mediavision_mv_inference_get_number_of_landmarks_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_landmark_p",ITc_mediavision_mv_inference_get_landmark_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
+ {"ITc_mediavision_mv_inference_pose_get_label_p",ITc_mediavision_mv_inference_pose_get_label_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_create_destroy_p",ITc_mediavision_mv_pose_create_destroy_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_set_from_file_p",ITc_mediavision_mv_pose_set_from_file_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_compare_p",ITc_mediavision_mv_pose_compare_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
extern int ITc_mediavision_mv_inference_get_number_of_poses_p(void);
extern int ITc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int ITc_mediavision_mv_inference_get_landmark_p(void);
+extern int ITc_mediavision_mv_inference_pose_get_label_p(void);
extern int ITc_mediavision_mv_pose_create_destroy_p(void);
extern int ITc_mediavision_mv_pose_set_from_file_p(void);
extern int ITc_mediavision_mv_pose_compare_p(void);
{"ITc_mediavision_mv_inference_get_number_of_poses_p",ITc_mediavision_mv_inference_get_number_of_poses_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_number_of_landmarks_p",ITc_mediavision_mv_inference_get_number_of_landmarks_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_landmark_p",ITc_mediavision_mv_inference_get_landmark_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
+ {"ITc_mediavision_mv_inference_pose_get_label_p",ITc_mediavision_mv_inference_pose_get_label_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_create_destroy_p",ITc_mediavision_mv_pose_create_destroy_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_set_from_file_p",ITc_mediavision_mv_pose_set_from_file_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_compare_p",ITc_mediavision_mv_pose_compare_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
extern int ITc_mediavision_mv_inference_get_number_of_poses_p(void);
extern int ITc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int ITc_mediavision_mv_inference_get_landmark_p(void);
+extern int ITc_mediavision_mv_inference_pose_get_label_p(void);
extern int ITc_mediavision_mv_pose_create_destroy_p(void);
extern int ITc_mediavision_mv_pose_set_from_file_p(void);
extern int ITc_mediavision_mv_pose_compare_p(void);
{"ITc_mediavision_mv_inference_get_number_of_poses_p",ITc_mediavision_mv_inference_get_number_of_poses_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_number_of_landmarks_p",ITc_mediavision_mv_inference_get_number_of_landmarks_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_landmark_p",ITc_mediavision_mv_inference_get_landmark_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
+ {"ITc_mediavision_mv_inference_pose_get_label_p",ITc_mediavision_mv_inference_pose_get_label_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_create_destroy_p",ITc_mediavision_mv_pose_create_destroy_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_set_from_file_p",ITc_mediavision_mv_pose_set_from_file_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_compare_p",ITc_mediavision_mv_pose_compare_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
extern int ITc_mediavision_mv_inference_get_number_of_poses_p(void);
extern int ITc_mediavision_mv_inference_get_number_of_landmarks_p(void);
extern int ITc_mediavision_mv_inference_get_landmark_p(void);
+extern int ITc_mediavision_mv_inference_pose_get_label_p(void);
extern int ITc_mediavision_mv_pose_create_destroy_p(void);
extern int ITc_mediavision_mv_pose_set_from_file_p(void);
extern int ITc_mediavision_mv_pose_compare_p(void);
{"ITc_mediavision_mv_inference_get_number_of_poses_p",ITc_mediavision_mv_inference_get_number_of_poses_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_number_of_landmarks_p",ITc_mediavision_mv_inference_get_number_of_landmarks_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_inference_get_landmark_p",ITc_mediavision_mv_inference_get_landmark_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
+ {"ITc_mediavision_mv_inference_pose_get_label_p",ITc_mediavision_mv_inference_pose_get_label_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_create_destroy_p",ITc_mediavision_mv_pose_create_destroy_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_set_from_file_p",ITc_mediavision_mv_pose_set_from_file_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},
{"ITc_mediavision_mv_pose_compare_p",ITc_mediavision_mv_pose_compare_p,ITs_media_vision_inference_startup,ITs_media_vision_inference_cleanup},