Giter Club home page Giter Club logo

ros_openpose's Introduction

ros_openpose

ROS wrapper for OpenPose | It supports (currently, but others are planned)-

  • Any color camera such as webcam etc ✔️
  • Intel RealSense Camera ✔️
  • Microsoft Kinect v2 Camera ✔️
  • Stereolabs ZED2 Camera ✔️ (see thanks section)
  • Azure Kinect Camera ✔️

gif showing demo of ros_openpose
Sample video showing visualization on RViz

Overview

  1. Dependencies
  2. Installation
  3. Configuration
  4. Operation Modes and APIs
  5. Camera Run Instructions:
  6. FAQ
  7. Test Configuration
  8. Citation
  9. Issues
  10. Thanks

Dependencies

Note: Additionally, camera-specific ROS drivers such as the following are required as per your camera model-

Installation

  1. Make sure to download the complete repository. Use git clone https://github.com/ravijo/ros_openpose.git or download zip as per your convenience.
  2. Invoke catkin tool inside ros workspace, i.e., catkin_make
  3. Make python scripts executable by using the commands below-
    roscd ros_openpose/scripts
    chmod +x *.py

Troubleshooting

  1. While compiling the package, if the following error is reported at the terminal-
    error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
    
    In this case, please checkout OpenPose version 1.7.0 by running the following command at the root directory of the OpenPose installation-
    git checkout tags/v1.7.0
  2. While compiling the package, if any of the following error is reported at the terminal-
    error: ‘check’ is not a member of ‘op’
    
    error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)
    
    error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
    
    In this case, please checkout OpenPose version 1.6.0 by running the following command at the root directory of the OpenPose installation-
    git checkout tags/v1.6.0
    Do not forget to run sudo make install to install the OpenPose system-wide.
  3. If compilation fails by showing the following error-
    /usr/bin/ld: cannot find -lThreads::Threads
    
    In this case, please put the following by editing the CMakeLists.txt
    find_package(Threads REQUIRED)
    
    For more information, please check here.
  4. While compiling the package, if the following error is reported at the terminal-
    error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)
    
    In this case, please update the OpenPose. Most likely, an old version of OpenPose is installed. So please checkout Openpose from the master branch as described here. Alternatively, you can checkout OpenPose version 1.5.1 by running the following command at the root directory of the OpenPose installation-
    git checkout tags/v1.5.1
    Do not forget to run sudo make install to install the OpenPose system-wide.
    Note that OpenPose version 1.5.1 is still supported.

Configuration

The main launch file is run.launch. It has the following important arguments-

  1. model_folder: It represents the full path to the model directory of OpenPose. Kindly modify it as per OpenPose installation in your machine. Please edit run.launch file as shown below-
    <arg name="openpose_args" value="--model_folder /home/ravi/openpose/models/"/>
  2. openpose_args: It is provided to support the standard OpenPose command-line arguments. Please edit run.launch file as shown below-
    <arg name="openpose_args" value="--face --hand"/>
  3. camera: It can only be one of the following: realsense, kinect, zed2, nodepth. Default value of this argument is realsense. See below for more information.

Operation Modes and APIs

  • Synchronous API (see thanks section)
    • Uses op_wrapper.emplaceAndPop() method provided by OpenPose
    • By default this version is disabled. Therefore, please set synchronous:=true and provide py_openpose_path while calling run.launch. For example:
      roslaunch ros_openpose run.launch camera:=realsense synchronous:=true py_openpose_path:=absolute_path_to_py_openpose
    • If the arg py_openpose_path is not specified, then the CPP node is used. Otherwise, the python node is used. Therefore, please compile OpenPose accordingly if you plan to use python bindings of the OpenPose.
  • Asynchronous API
    • Uses two workers, op::WorkerProducer and op::WorkerConsumer workers provided by OpenPose
    • Uses OpenPose CPP APIs
    • By default this version is enabled. Users are advised to try synchronous:=true if not satisfied with the performance.

Camera Run Instructions

In this section, you will find the instructions for running ros_openpose with one of the following cameras: Color camera, Realsense, Kinect v2, Azure Kinect, and ZED2. If you have a different camera and would like to use ros_openpose with depth properties, please turn to the FAQ section for tips and guidance on achieving this.

Steps to Run with any Color Camera such as Webcam etc.

  1. Make sure that ROS env is sourced properly by executing the following command-
    source devel/setup.bash
  2. Start the ROS package of your camera. Basically, this package is going to capture images from your camera, and then it is going to publish those images on a ROS topic. Make sure to set the correct ROS topic to color_topic inside config_nodepth.launch file.
  3. Invoke the main launch file by executing the following command-
    roslaunch ros_openpose run.launch camera:=nodepth

Note: To confirm that ROS package of your camera is working properly, please check if the ROS package is publishing images by executing the following command-

rosrun image_view image_view image:=YOUR_ROSTOPIC

Here YOUR_ROSTOPIC must have the same value as color_topic.

Steps to Run with Intel RealSense Camera

  1. Make sure that ROS env is sourced properly by executing the following command-
    source devel/setup.bash
  2. Invoke the main launch file by executing the following command-
    roslaunch ros_openpose run.launch

Steps to Run with Microsoft Kinect v2 Camera

  1. Make sure that ROS env is sourced properly by executing the following command-
    source devel/setup.bash
  2. Invoke the main launch file by executing the following command-
    roslaunch ros_openpose run.launch camera:=kinect

Steps to Run with Azure Kinect Camera

  1. Make sure that ROS env is sourced properly by executing the following command-
    source devel/setup.bash
  2. Invoke the main launch file by executing the following command-
    roslaunch ros_openpose run.launch camera:=azurekinect

Steps to Run with Stereolabs ZED2 Camera

  1. Change the parameter openni_depth_mode in zed-ros-wrapper/zed_wrapper/params/common.yaml to true (default is false).
  2. Make sure that ROS env is sourced properly by executing the following command-
    source devel/setup.bash
  3. Invoke the main launch file by executing the following command-
    roslaunch ros_openpose run.launch camera:=zed2

FAQ

  1. How to add my own depth camera into this wrapper?

    You might be able to add your own depth camera by creating your own config_<camera_name>.launch file based on one of the existing ones and modify it to suit your specific camera. Go inside the launch subdirectory and make a copy of config_realsense.launch and save it as config_<camera_name>.launch. Remember that whatever you choose as the camera_name, should be used as an argument when launching the run.launch to run ros_openpose. Make necessary changes to the color_topic, depth_topic, cam_info_topic, and frame_id arguments in the file. Make sure that:

    • Input depth images are aligned to the color images already.
    • Depth and color images have the same dimension. Therefore, each pixel from the color image can be mapped to its corresponding depth pixel at the same x, y location.
    • The depth images contain depth values in millimeters and are represented by TYPE_16UC1 using OpenCV.
    • The cam_info_topic is containing camera calibration parameters supplied by the manufacturer.

    To achieve visualizations, you also need to create new modified versions of the rviz scripts only_person_<camera_name>.rviz and person_pointcloud_<camera_name>.rviz.

    Please check here for a similar question.

    If you successfully create modified files and run ros_openpose with a depth camera that is not mentioned here, please share your files and the necessary steps for running with your camera. This useful information can be made available to others.

  2. How to run this wrapper with limited resources such as low GPU, RAM, etc.?

    Below is a brief explanation of the ros_openpose package. This package does not use GPU directly. However, it depends on OpenPose, which uses GPU heavily. It contains a few ROS subscribers, which copies data from the camera using ROS. Next, it employs two workers, namely input and output workers. The job of the input worker is to provide color images to the OpenPose, whereas the role of the output worker is to receive the keypoints detected in 2D (pixel) space. The output worker then converts 2D pixels to 3D coordinates. The input worker waits for 10 milliseconds if the camera provides no new frames, and then it checks again if no new frame is available. If not, then wait for 10 milliseconds, and the cycle continues. In this way, we ensure that the CPU gets some time to sleep (indirectly lowering the CPU usage).

    • If the CPU usage are high, try increasing the sleep value (SLEEP_MS) as defined here.
    • Try reducing the --net_resolution and by using --model_pose COCO.
    • Try disabling multithreading in OpenPose software simply by supplying --disable_multi_thread to openpose_args inside run.launch file.
    • Another easiest way is to decrease the FPS of your camera. Please try to lower it down as per your limitations.

    Please check here for a similar question.

  3. How to find the version of the OpenPose installed on my machine?

    Please use the shell script get_openpose_version.sh as shown below-

    sh get_openpose_version.sh

    You can use cmake as well. See here

Note on Test Configuration

This package has been tested on the following environment configuration-

Name Value
OS Ubuntu 14.04.6 LTS (64-bit)
RAM 16 GB
Processor Intel® Core™ i7-7700 CPU @ 3.60GHz × 8
Kernel Version 4.4.0-148-generic
ROS Indigo
GCC Version 5.5.0
OpenCV Version 2.4.8
OpenPose Version 1.5.1
GPU GeForce GTX 1080
CUDA Version 8.0.61
cuDNN Version 5.1.10

Citation

If you used ros_openpose for your work, please cite it.

@misc{ros_openpose,
    author = {Joshi, Ravi P. and Choi, Andrew and Tan, Xiang Zhi and Van den Broek, Marike K and Luo, Rui and Choi, Brian},
    title = {{ROS OpenPose}},
    year = {2019},
    publisher = {GitHub},
    journal = {GitHub Repository},
    howpublished = {\url{https://github.com/ravijo/ros_openpose}}
}

Issues (or Error Reporting)

Please check here and create issues accordingly.

Thanks

Following authors are sincerely acknowledged for the improvements of this package-

ros_openpose's People

Contributors

brianchoi12 avatar furuya-kenji avatar luorui93 avatar quantumope avatar ravijo avatar riryuichi avatar ruksen25 avatar xiangzhi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ros_openpose's Issues

significant delay

Hello Ravi,
I am using your ros package in an attempt to use openpose for real time skeleton estimation.

The problem is that I am experiencing significant delay between the realtime video feed and the outputted skeleton.
I see from your example gif on the front page README that you were more or less able to get realtime output.

Do you have any idea what could be causing this delay? I am using quite a powerful machine with Openpose 1.6 and a realsense camera. Aside from the delay, the framerate is stable. This leads me to think that this is not openpose related.

Any help would be greatly appreciated.
Thanks in advance.

Using a webcam

Is it possible to use this wrapper with a normal webcam? When running the launch file it states, that the resource realsense wasnt found (ResourceNotFound: realsense2_camera), but there is no option in that file to put in webcam, just kinect and realsense

The plan was to use an already existing image_raw topic

"make -j8 -l8" Error!

Hi Ravijo,
I have an issue with catkin_make; I've done the steps that you say but unf. got a error like this:

[ 93%] Built target ros_openpose_generate_messages_cpp
Scanning dependencies of target rosOpenpose
[ 94%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/cameraReader.cpp.o
[ 96%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o
[ 96%] Built target ros_openpose_generate_messages_eus
Scanning dependencies of target ros_openpose_generate_messages
[ 96%] Built target ros_openpose_generate_messages
[ 98%] Linking CXX executable /home/sacit/catkin_ws/devel/lib/ros_openpose/testCameraReader
/usr/bin/ld: cannot find -lThreads::Threads
collect2: error: ld returned 1 exit status
ros_openpose/CMakeFiles/testCameraReader.dir/build.make:197: recipe for target '/home/sacit/catkin_ws/devel/lib/ros_openpose/testCameraReader' failed
make[2]: *** [/home/sacit/catkin_ws/devel/lib/ros_openpose/testCameraReader] Error 1
CMakeFiles/Makefile2:1448: recipe for target 'ros_openpose/CMakeFiles/testCameraReader.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/testCameraReader.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX executable /home/sacit/catkin_ws/devel/lib/ros_openpose/rosOpenpose
/usr/bin/ld: cannot find -lThreads::Threads
collect2: error: ld returned 1 exit status
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:197: recipe for target '/home/sacit/catkin_ws/devel/lib/ros_openpose/rosOpenpose' failed
make[2]: *** [/home/sacit/catkin_ws/devel/lib/ros_openpose/rosOpenpose] Error 1
CMakeFiles/Makefile2:1873: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
Makefile:159: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

My system infos:
Ubuntu 18.04/ Ros - Melodic / Cuda 10

Thank you already.

Please confirm the newly added citation info.

Dear all,

I recently added citation info. so that people in academics can cite this work. I am tagging everyone so that you can receive a notification from GitHub.

Can you please check if I entered your name correctly?

FYI, I followed this notation: author = {Last Name, First Name Middle Name}. The Last name is basically your family name, sometimes know as sir name too.

As always, thank you very much for your contribution.

/usr/bin/ld: cannot find -lThreads::Threads Catkin_make error

Hi,
I am currently using Jetson Nano board to run ros_openpose.
I have installed open pose version 1.5.1.
While doing catkin_make, I am facing the following error at 97%.

[ 97%] Linking CXX executable /home/lams/catkin_ws/devel/lib/ros_openpose/testCameraReader /usr/bin/ld: cannot find -lThreads::Threads collect2: error: ld returned 1 exit status ros_openpose/CMakeFiles/testCameraReader.dir/build.make:184: recipe for target '/home/xxyzx/catkin_ws/devel/lib/ros_openpose/testCameraReader' failed make[2]: *** [/home/xxyzx/catkin_ws/devel/lib/ros_openpose/testCameraReader] Error 1 CMakeFiles/Makefile2:680: recipe for target 'ros_openpose/CMakeFiles/testCameraReader.dir/all' failed make[1]: *** [ros_openpose/CMakeFiles/testCameraReader.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs...

Kindly let me know if there is a way to solve this issue please?

Thanks

wrapper for Kinect Azure camera

Hi @ravijo ,
I am trying to use ros_openpose for Kinect Azure camera. The Kinect Azure Ros driver can be found here.

After installing all the dependencies for ros_openpose, I tried to write a wrapper for the kinect azure device based the instruction provided. I have provided the launch file. I have set the arg and subscribed to the relevant topics.
launching the following file, I get an error

Value error: is not a 'bool' type
The traceback for the exception was written to the log file

after I changed the default topic that subscribes for the camera calibration parameters

Can you kindly provide some assistance here to fix the error please?
Feel free to let me know if you need more information

Thanks
config_kinectazure (copy).txt

ros_openpose with ZED2 camera

Hi ravijo

I am working on getting this package working with my ZED2 camera.
I have copied the config_realsense. launch file and tried to adapt it to my camera.
I also similarly copied and modified the rviz file.

Currently, I seem to be able to obtain a skeleton, and I can visualise in Rviz. However, the visualisation appears all weird. I can visualise my point cloud just fine, but of course this has also not been through manipulation in your wrapper. It is mainly the skeleton which is visualised weird.
The scale of it does not match the point cloud (or vice versa) , and I even in some cases seem to have a deformed skeleton.

My question to you is if you have some parameters or variables in any parts of your wrapper that you think might be associated with the problem. Or maybe asked in another way: Can you line out the parameters/variables in your code that you think I need to look at and adapt in order to make it work with a different depth camera?

I greatly appreciate any input you have.

CMake Error - Ubuntu 18.04 Could not find a packae configuration file provided by OpenPose

I tried to install openpose and then later installed ros_openpose.
I get the following error while doing catkin_make.

Please find the error msg below:-

CMake Error at ros_openpose/CMakeLists.txt:25 (find_package):
By not providing "FindOpenPose.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenPose",
but CMake did not find one.

Could not find a package configuration file provided by "OpenPose" with any
of the following names:

OpenPoseConfig.cmake
openpose-config.cmake

Add the installation prefix of "OpenPose" to CMAKE_PREFIX_PATH or set
"OpenPose_DIR" to a directory containing one of the above files. If
"OpenPose" provides a separate development package or SDK, be sure it has
been installed.

-- Configuring incomplete, errors occurred!

Can you kindly help me fix this please?

Thanks

IndexError: index 720 is out of bounds for axis 0 with size 720

This is a very minor issue but there is an error in the code of ros_openpose_synchronous.py

on line 92:
original -> if v <= depth.shape[0] and u <= depth.shape[1]:

the less than or equal to should be changed to less than as:
fixed -> if v < depth.shape[0] and u < depth.shape[1]:

Issue compiling package

I am trying to invoke catkin make inside my ros workspace. But, I seem to face issues accessing the headers of openpose!
I have installed openpose according to the install instruction on their github page.
On catkin_make, I initially had the same issue mentioned here. According to the comments there, I followed the workaround. But, I seem to face a new issue now.

Any help is greatly appreciated. Thanks in advance.

Base path: /home/akilesh/deepKP_ws
Source space: /home/akilesh/deepKP_ws/src
Build space: /home/akilesh/deepKP_ws/build
Devel space: /home/akilesh/deepKP_ws/devel
Install space: /home/akilesh/deepKP_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/akilesh/deepKP_ws/build"
####
####
#### Running command: "make -j8 -l8" in "/home/akilesh/deepKP_ws/build"
####
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target _ros_openpose_generate_messages_check_deps_Pixel
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target _ros_openpose_generate_messages_check_deps_Frame
[  0%] Built target _ros_openpose_generate_messages_check_deps_BodyPart
[  0%] Built target _ros_openpose_generate_messages_check_deps_Person
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target diagnostic_msgs_generate_messages_py
[  0%] Built target roscpp_generate_messages_lisp
[  0%] Built target _catkin_empty_exported_target
[  0%] Built target sensor_msgs_generate_messages_lisp
[  2%] Building CXX object ros_openpose/CMakeFiles/testCameraReader.dir/src/testCameraReader.cpp.o
[  2%] Built target rosgraph_msgs_generate_messages_nodejs
[  4%] Building CXX object ros_openpose/CMakeFiles/testCameraReader.dir/src/cameraReader.cpp.o
[  4%] Built target sensor_msgs_generate_messages_nodejs
[  4%] Built target rosgraph_msgs_generate_messages_eus
[  4%] Built target roscpp_generate_messages_py
[  4%] Built target sensor_msgs_generate_messages_eus
[  4%] Built target roscpp_generate_messages_nodejs
[  4%] Built target rosgraph_msgs_generate_messages_cpp
[  4%] Built target rosgraph_msgs_generate_messages_py
[  4%] Built target sensor_msgs_generate_messages_py
[  4%] Built target roscpp_generate_messages_eus
[  4%] Built target sensor_msgs_generate_messages_cpp
[  4%] Built target rosgraph_msgs_generate_messages_lisp
[  4%] Built target roscpp_generate_messages_cpp
[  4%] Built target tf_generate_messages_cpp
[  4%] Built target bond_generate_messages_lisp
[  4%] Built target dynamic_reconfigure_generate_messages_py
[  4%] Built target actionlib_generate_messages_eus
[  4%] Built target nav_msgs_generate_messages_lisp
[  4%] Built target nodelet_generate_messages_lisp
[  4%] Built target _realsense2_camera_generate_messages_check_deps_IMUInfo
[  4%] Built target nodelet_generate_messages_nodejs
[  4%] Built target nav_msgs_generate_messages_cpp
[  4%] Built target _realsense2_camera_generate_messages_check_deps_Extrinsics
[  4%] Built target nav_msgs_generate_messages_py
[  4%] Built target nodelet_generate_messages_py
[  4%] Built target dynamic_reconfigure_gencfg
[  4%] Built target tf2_msgs_generate_messages_nodejs
[  4%] Built target bond_generate_messages_nodejs
[  4%] Built target nodelet_generate_messages_eus
[  4%] Built target actionlib_generate_messages_cpp
[  4%] Built target tf2_msgs_generate_messages_py
[  4%] Built target actionlib_msgs_generate_messages_nodejs
[  4%] Built target dynamic_reconfigure_generate_messages_nodejs
[  4%] Built target bond_generate_messages_cpp
[  4%] Built target nav_msgs_generate_messages_eus
[  4%] Built target bond_generate_messages_py
[  4%] Built target tf_generate_messages_eus
[  4%] Built target diagnostic_msgs_generate_messages_eus
[  4%] Built target dynamic_reconfigure_generate_messages_cpp
[  4%] Built target nav_msgs_generate_messages_nodejs
[  4%] Built target actionlib_msgs_generate_messages_lisp
[  4%] Built target actionlib_generate_messages_py
[  4%] Built target actionlib_msgs_generate_messages_py
[  4%] Built target tf2_msgs_generate_messages_eus
[  4%] Built target tf_generate_messages_nodejs
[  4%] Built target nodelet_generate_messages_cpp
[  4%] Built target diagnostic_msgs_generate_messages_cpp
[  4%] Built target tf_generate_messages_py
[  4%] Built target actionlib_msgs_generate_messages_eus
[  4%] Built target actionlib_generate_messages_lisp
[  4%] Built target actionlib_generate_messages_nodejs
[  4%] Built target tf2_msgs_generate_messages_cpp
[  4%] Built target actionlib_msgs_generate_messages_cpp
[  4%] Built target dynamic_reconfigure_generate_messages_eus
[  4%] Built target tf2_msgs_generate_messages_lisp
[  4%] Built target dynamic_reconfigure_generate_messages_lisp
[  4%] Built target bond_generate_messages_eus
[  4%] Built target diagnostic_msgs_generate_messages_lisp
[  4%] Built target tf_generate_messages_lisp
[  4%] Built target diagnostic_msgs_generate_messages_nodejs
[  6%] Generating Javascript code from realsense2_camera/IMUInfo.msg
[  9%] Generating Javascript code from realsense2_camera/Extrinsics.msg
[ 11%] Generating Lisp code from realsense2_camera/IMUInfo.msg
[ 13%] Generating EusLisp code from realsense2_camera/IMUInfo.msg
[ 15%] Generating Python from MSG realsense2_camera/IMUInfo
[ 18%] Generating Python from MSG ros_openpose/Pixel
[ 22%] Generating Python from MSG realsense2_camera/Extrinsics
[ 22%] Generating Lisp code from realsense2_camera/Extrinsics.msg
[ 22%] Built target realsense2_camera_generate_messages_nodejs
[ 25%] Generating EusLisp code from realsense2_camera/Extrinsics.msg
[ 27%] Generating EusLisp manifest code for realsense2_camera
[ 27%] Built target realsense2_camera_generate_messages_lisp
[ 29%] Generating C++ code from ros_openpose/Pixel.msg
[ 31%] Generating Python from MSG ros_openpose/Frame
[ 34%] Generating C++ code from ros_openpose/Frame.msg
[ 36%] Generating EusLisp code from ros_openpose/Pixel.msg
[ 38%] Generating Python msg __init__.py for realsense2_camera
[ 40%] Generating EusLisp code from ros_openpose/Frame.msg
[ 43%] Generating Python from MSG ros_openpose/Person
[ 45%] Generating C++ code from ros_openpose/Person.msg
[ 47%] Generating C++ code from ros_openpose/BodyPart.msg
[ 50%] Generating EusLisp code from ros_openpose/Person.msg
[ 50%] Built target realsense2_camera_generate_messages_py
[ 52%] Generating Javascript code from ros_openpose/Pixel.msg
[ 54%] Generating EusLisp code from ros_openpose/BodyPart.msg
[ 56%] Generating Python from MSG ros_openpose/BodyPart
[ 59%] Generating Javascript code from ros_openpose/Frame.msg
[ 61%] Generating Lisp code from ros_openpose/Pixel.msg
[ 63%] Generating EusLisp manifest code for ros_openpose
[ 65%] Generating Javascript code from ros_openpose/Person.msg
[ 65%] Built target ros_openpose_generate_messages_cpp
[ 68%] Generating Javascript code from ros_openpose/BodyPart.msg
[ 70%] Generating Python msg __init__.py for ros_openpose
[ 72%] Generating Lisp code from ros_openpose/Frame.msg
[ 75%] Generating Lisp code from ros_openpose/Person.msg
[ 75%] Built target ros_openpose_generate_messages_nodejs
[ 77%] Generating Lisp code from ros_openpose/BodyPart.msg
[ 77%] Built target ros_openpose_generate_messages_py
[ 79%] Generating C++ code from realsense2_camera/IMUInfo.msg
[ 81%] Generating C++ code from realsense2_camera/Extrinsics.msg
[ 81%] Built target ros_openpose_generate_messages_lisp
Scanning dependencies of target rosOpenpose
[ 84%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/cameraReader.cpp.o
[ 86%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o
/home/akilesh/deepKP_ws/src/ros_openpose/src/rosOpenpose.cpp:15:31: fatal error: /openpose/flags.hpp: No such file or directory
compilation terminated.
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:62: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o' failed
make[2]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 86%] Built target realsense2_camera_generate_messages_eus
[ 86%] Built target realsense2_camera_generate_messages_cpp
[ 86%] Built target realsense2_camera_generate_messages
Scanning dependencies of target realsense2_camera
[ 88%] Building CXX object realsense-ros/realsense2_camera/CMakeFiles/realsense2_camera.dir/src/t265_realsense_node.cpp.o
[ 90%] Building CXX object realsense-ros/realsense2_camera/CMakeFiles/realsense2_camera.dir/src/realsense_node_factory.cpp.o
[ 93%] Building CXX object realsense-ros/realsense2_camera/CMakeFiles/realsense2_camera.dir/src/base_realsense_node.cpp.o
[ 93%] Built target ros_openpose_generate_messages_eus
[ 93%] Built target ros_openpose_generate_messages
[ 95%] Linking CXX executable /home/akilesh/deepKP_ws/devel/lib/ros_openpose/testCameraReader
[ 95%] Built target testCameraReader
CMakeFiles/Makefile2:1593: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Linking CXX shared library /home/akilesh/deepKP_ws/devel/lib/librealsense2_camera.so
[ 97%] Built target realsense2_camera
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
``

1s delay of the displayed video and the output fps

Dear @ravijo ,
thanks for your contribution.
I use realsense camera to test your code.
But I can see somehow 1s delay of the displayed video. And the frequency of the topic is around 20Hz.

Do you have a 1s delay of the displayed video? And what is the frequency of the topic /frame?
Does the delay come from the synchronized ros messages? Can we fix that?
I can get around 27fps outputs using pure openpose.
Thank you.

Catkin Build Error "WrapperStructPose"

Hi,
As I try building my ros workspace, I get the following error:

Errors     << ros_openpose:make /home/sinan/catkin_ws/logs/ros_openpose/build.make.022.log                                                
/home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeAsync.cpp: In function ‘void configureOpenPose(op::Wrapper&, const std::shared_ptr<ros_openpose::CameraReader>&, const ros::Publisher&, const string&, bool)’:
/home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeAsync.cpp:398:70: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’

I looked at all of the closed issues regarding this "WrapperStructPose" Error and tried all of your suggestions:

  • My OpenPose Version is 1.7.0 as it is logged in the CmakeLists.txt file. And I already did git checkout tags/v1.7.0, recompiled using make -j nproc in the build folder of openpose and did sudo apt install Additionally I did sudo make install at the end. My OpenPose has been working standalone from the beginning.
  • I also added find_package(Threads REQUIRED) to the CmakeLists.txt

I would be glad if you could help.

The full error log is following:

sinan@yavin:~/catkin_ws$ catkin build 
----------------------------------------------------------
Profile:                     default
Extending:          [cached] /opt/ros/noetic
Workspace:                   /home/sinan/catkin_ws
----------------------------------------------------------
Build Space:        [exists] /home/sinan/catkin_ws/build
Devel Space:        [exists] /home/sinan/catkin_ws/devel
Install Space:      [unused] /home/sinan/catkin_ws/install
Log Space:          [exists] /home/sinan/catkin_ws/logs
Source Space:       [exists] /home/sinan/catkin_ws/src
DESTDIR:            [unused] None
----------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
----------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
----------------------------------------------------------
Buildlisted Packages:        None
Skiplisted Packages:         None
----------------------------------------------------------
Workspace configuration appears valid.
----------------------------------------------------------
[build] Found '33' packages in 0.0 seconds.                                                                                               
[build] Package table is up to date.                                                                                                      
Starting  >>> beginner_tutorials                                                                                                          
Starting  >>> easy_us                                                                                                                     
Starting  >>> iiwa_cepha_description                                                                                                      
Starting  >>> iiwa_control                                                                                                                
Starting  >>> iiwa_convex_description                                                                                                     
Starting  >>> iiwa_description                                                                                                            
Starting  >>> iiwa_linear_description                                                                                                     
Starting  >>> iiwa_msgs                                                                                                                   
Finished  <<< iiwa_cepha_description                             [ 0.1 seconds ]                                                          
Starting  >>> iiwa_cepha_moveit_config                                                                                                    
Finished  <<< iiwa_linear_description                            [ 0.1 seconds ]                                                          
Starting  >>> iiwa_linear_moveit_config                                                                                                   
Finished  <<< iiwa_control                                       [ 0.1 seconds ]                                                          
Starting  >>> iiwa_pinoepel_description                                                                                                   
Finished  <<< beginner_tutorials                                 [ 0.1 seconds ]                                                          
Finished  <<< iiwa_convex_description                            [ 0.1 seconds ]                                                          
Finished  <<< iiwa_description                                   [ 0.1 seconds ]                                                          
Finished  <<< easy_us                                            [ 0.1 seconds ]                                                          
Starting  >>> iiwa_convex_moveit_config                                                                                                   
Finished  <<< iiwa_cepha_moveit_config                           [ 0.1 seconds ]                                                          
Finished  <<< iiwa_linear_moveit_config                          [ 0.1 seconds ]                                                          
Finished  <<< iiwa_pinoepel_description                          [ 0.1 seconds ]                                                          
Starting  >>> iiwa_gamma_description                                                                                                      
Finished  <<< iiwa_convex_moveit_config                          [ 0.1 seconds ]                                                          
Finished  <<< iiwa_gamma_description                             [ 0.2 seconds ]                                                          
Starting  >>> iiwa_gamma_moveit_config                                                                                                    
Starting  >>> iiwa_gazebo                                                                                                                 
Starting  >>> iiwa_pinoepel_moveit_config                                                                                                 
Starting  >>> iiwa_plastic_pinoepel_description                                                                                           
Starting  >>> iiwa_python                                                                                                                 
Starting  >>> iiwa_tool_calibration                                                                                                       
Starting  >>> iiwa_wobbler_description                                                                                                    
Finished  <<< iiwa_msgs                                          [ 0.9 seconds ]                                                          
Starting  >>> iiwa_ros                                                                                                                    
Finished  <<< iiwa_gamma_moveit_config                           [ 0.1 seconds ]                                                          
Starting  >>> realsense2_camera                                                                                                           
Finished  <<< iiwa_tool_calibration                              [ 0.1 seconds ]                                                          
Starting  >>> realsense2_description                                                                                                      
Finished  <<< iiwa_plastic_pinoepel_description                  [ 0.1 seconds ]                                                          
Starting  >>> iiwa_plastic_pinoepel_moveit_config                                                                                         
Finished  <<< iiwa_pinoepel_moveit_config                        [ 0.1 seconds ]                                                          
Starting  >>> ros_openpose                                                                                                                
Finished  <<< iiwa_python                                        [ 0.1 seconds ]                                                          
Starting  >>> rqt_easy_us                                                                                                                 
Finished  <<< iiwa_wobbler_description                           [ 0.1 seconds ]                                                          
Starting  >>> iiwa_wobbler_moveit_config                                                                                                  
Finished  <<< iiwa_gazebo                                        [ 0.1 seconds ]                                                          
Finished  <<< iiwa_ros                                           [ 0.1 seconds ]                                                          
Finished  <<< realsense2_description                             [ 0.1 seconds ]                                                          
Finished  <<< iiwa_plastic_pinoepel_moveit_config                [ 0.1 seconds ]                                                          
Finished  <<< rqt_easy_us                                        [ 0.1 seconds ]                                                          
Starting  >>> iiwa_hw                                                                                                                     
Finished  <<< iiwa_wobbler_moveit_config                         [ 0.1 seconds ]                                                          
Finished  <<< realsense2_camera                                  [ 0.6 seconds ]                                                          
Finished  <<< iiwa_hw                                            [ 0.2 seconds ]                                                          
Starting  >>> iiwa_moveit                                                                                                                 
Finished  <<< iiwa_moveit                                        [ 0.1 seconds ]                                                          
Starting  >>> iiwa_aruco_handeyecalibration                                                                                               
Starting  >>> iiwa_ascension_handeyecalibration                                                                                           
Starting  >>> iiwa_ndi_handeyecalibration                                                                                                 
Starting  >>> iiwa_openigtlink_handeyecalibration                                                                                         
Finished  <<< iiwa_openigtlink_handeyecalibration                [ 0.1 seconds ]                                                          
Finished  <<< iiwa_aruco_handeyecalibration                      [ 0.1 seconds ]                                                          
Finished  <<< iiwa_ndi_handeyecalibration                        [ 0.1 seconds ]                                                          
Finished  <<< iiwa_ascension_handeyecalibration                  [ 0.1 seconds ]                                                          
__________________________________________________________________________________________________________________________________________
Warnings   << ros_openpose:check /home/sinan/catkin_ws/logs/ros_openpose/build.check.023.log                                              
CMake Warning (dev) at CMakeLists.txt:2 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    CMAKE_PROJECT_VERSION
    CMAKE_PROJECT_VERSION_MAJOR
    CMAKE_PROJECT_VERSION_MINOR
    CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

cd /home/sinan/catkin_ws/build/ros_openpose; catkin build --get-env ros_openpose | catkin env -si  /usr/bin/make cmake_check_build_system; cd -

..........................................................................................................................................
__________________________________________________________________________________________________________________________________________
Errors     << ros_openpose:make /home/sinan/catkin_ws/logs/ros_openpose/build.make.022.log                                                
/home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeAsync.cpp: In function ‘void configureOpenPose(op::Wrapper&, const std::shared_ptr<ros_openpose::CameraReader>&, const ros::Publisher&, const string&, bool)’:
/home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeAsync.cpp:398:70: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
  398 |                                                   enableGoogleLogging};
      |                                                                      ^
In file included from /home/sinan/openpose/install/include/openpose/wrapper/wrapper.hpp:13,
                 from /home/sinan/openpose/install/include/openpose/wrapper/headers.hpp:6,
                 from /home/sinan/openpose/install/include/openpose/headers.hpp:47,
                 from /home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeAsync.cpp:16:
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:221:9: note: candidate: ‘op::WrapperStructPose::WrapperStructPose(op::PoseMode, const op::Point<int>&, double, const op::Point<int>&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, const op::String&, const std::vector<op::HeatMapType>&, op::ScaleMode, bool, float, int, bool, double, const op::String&, const op::String&, float, bool)’
  221 |         WrapperStructPose(
      |         ^~~~~~~~~~~~~~~~~
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:223:26: note:   no known conversion for argument 3 from ‘const op::Point<int>’ to ‘double’
  223 |             const double netInputSizeDynamicBehavior = 1.,
      |             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: ‘op::WrapperStructPose::WrapperStructPose(const op::WrapperStructPose&)’
   18 |     struct OP_API WrapperStructPose
      |                   ^~~~~~~~~~~~~~~~~
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: ‘op::WrapperStructPose::WrapperStructPose(op::WrapperStructPose&&)’
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeSync.cpp: In function ‘void configureOpenPose(op::Wrapper&)’:
/home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeSync.cpp:260:74: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
  260 |                                                       enableGoogleLogging};
      |                                                                          ^
In file included from /home/sinan/openpose/install/include/openpose/wrapper/wrapper.hpp:13,
                 from /home/sinan/openpose/install/include/openpose/wrapper/headers.hpp:6,
                 from /home/sinan/openpose/install/include/openpose/headers.hpp:47,
                 from /home/sinan/catkin_ws/src/ros_openpose/src/rosOpenposeSync.cpp:10:
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:221:9: note: candidate: ‘op::WrapperStructPose::WrapperStructPose(op::PoseMode, const op::Point<int>&, double, const op::Point<int>&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, const op::String&, const std::vector<op::HeatMapType>&, op::ScaleMode, bool, float, int, bool, double, const op::String&, const op::String&, float, bool)’
  221 |         WrapperStructPose(
      |         ^~~~~~~~~~~~~~~~~
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:223:26: note:   no known conversion for argument 3 from ‘const op::Point<int>’ to ‘double’
  223 |             const double netInputSizeDynamicBehavior = 1.,
      |             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: ‘op::WrapperStructPose::WrapperStructPose(const op::WrapperStructPose&)’
   18 |     struct OP_API WrapperStructPose
      |                   ^~~~~~~~~~~~~~~~~
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: ‘op::WrapperStructPose::WrapperStructPose(op::WrapperStructPose&&)’
/home/sinan/openpose/install/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
make[2]: *** [CMakeFiles/rosOpenposeAsync.dir/build.make:63: CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:210: CMakeFiles/rosOpenposeAsync.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/rosOpenposeSync.dir/build.make:63: CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:183: CMakeFiles/rosOpenposeSync.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
cd /home/sinan/catkin_ws/build/ros_openpose; catkin build --get-env ros_openpose | catkin env -si  /usr/bin/make --jobserver-auth=3,4; cd -

..........................................................................................................................................
Failed     << ros_openpose:make                                  [ Exited with code 2 ]                                                   
Failed    <<< ros_openpose                                       [ 3.9 seconds ]                                                          
[build] Summary: 32 of 33 packages succeeded.                                                                                             
[build]   Ignored:   None.                                                                                                                
[build]   Warnings:  1 packages succeeded with warnings.                                                                                  
[build]   Abandoned: None.                                                                                                                
[build]   Failed:    1 packages failed.                                                                                                   
[build] Runtime: 5.5 seconds total.                                                                                 

None of keypoints detected from my own data

Hi, Thank you for the awesome work.

I have a VLP-16 lidar and I want to use it for activity recognition, I convert my point clouds into RGB images and record as a video. First, I use this package with command: roslaunch video_stream_opencv video_file.launch to read my video and publish /videofile/image_raw topic. Then I use your package by running: roslaunch ros_openpose run.launch camera:=nodepth. But none of keypoints were detected such as this video shown: Links

I made some modifies before using your code:

  1. In run.launch, I added --net_resolution -1x128 in openpose_args.
  2. In config_nodepth.launch, I changed color_topic to my topic: /videofile/image_raw.

In addition, after referring to this issue, I changed auto depthPtr to cv_bridge::toCvCopy(depthMsg, sensor_msgs::image_encodings::BGR8), but I still got same result (none of keypoints).

However, when I use openpose 01_body_from_image.py to test a single image, it can detect keypoints:
Screenshot from 2022-03-08 17-07-46

May i have your suggestions?
Any help is much appreciated:)

Can't compile.

Hello.

I have OpenPose version 1.7.0
I get the expected error when i execute catkin_make.
"git checkout tags/v1.7.0" does not help.
Al tough i have to say i am not sure whats meant with "root directory of OpenPose installation"
I ran it at:
/home/christian/openpose and
/home/christian/openpose/build

Any help is appreciated.

Current ros_openpose_synchronous.py crashes with openpose 1.7.0

This is probably due to the change of emplaceAndPop() in new op_wrapper.
I've updated the code in my fork here:
luorui93@97ad917

I also made some changes to the code so the program won't crash when nobody or only partial body is detected.
Should I make a pull request or something? Sorry I'm not very familiar with the standard procedure.

Very Messy Skeleton in RViz But Clean in Openpose

Hello,

Does anyone have any suggestions on how to clean up my skeleton besides creating a noise filter in ROS to deal with the below noise? It seems like Openpose is not having any trouble with the skeleton, but somewhere along the way the skeleton gets mixed up.

Thank you for your help.

main_2

Can't Compile

Hi!

I m trying to implement ROS wrapper with Openpose tracking, but I cannot compile when I try to run with version 1.5.0, what can I do to solve the errors?

Thanks so much in advance :)

I attach the catkin_make output:

Base path: /home/nvidia/catkin_ws
Source space: /home/nvidia/catkin_ws/src
Build space: /home/nvidia/catkin_ws/build
Devel space: /home/nvidia/catkin_ws/devel
Install space: /home/nvidia/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/nvidia/catkin_ws/build"
####
####
#### Running command: "make -j8 -l8" in "/home/nvidia/catkin_ws/build"
####
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_eus
[ 10%] Built target testCameraReader
[ 10%] Built target geometry_msgs_generate_messages_eus
[ 10%] Built target geometry_msgs_generate_messages_nodejs
[ 10%] Built target std_msgs_generate_messages_nodejs
[ 10%] Built target _ros_openpose_generate_messages_check_deps_Frame
[ 10%] Built target _ros_openpose_generate_messages_check_deps_Person
[ 10%] Built target geometry_msgs_generate_messages_cpp
[ 10%] Built target std_msgs_generate_messages_cpp
[ 10%] Built target _ros_openpose_generate_messages_check_deps_Pixel
[ 10%] Built target _ros_openpose_generate_messages_check_deps_BodyPart
[ 57%] Built target ros_openpose_generate_messages_py
[ 57%] Built target ros_openpose_generate_messages_cpp
[ 57%] Built target ros_openpose_generate_messages_lisp
[ 71%] Built target ros_openpose_generate_messages_nodejs
[ 89%] Built target ros_openpose_generate_messages_eus
Scanning dependencies of target rosOpenpose
[ 89%] Built target ros_openpose_generate_messages
[ 92%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o
In file included from /usr/include/opencv/opencv2/core/core_c.h:48:0,
                 from /usr/include/opencv/opencv2/imgproc/types_c.h:46,
                 from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/core/types_c.h:905:0: warning: "CV_TERMCRIT_ITER" redefined
 #define CV_TERMCRIT_ITER    1
 
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/local/include/openpose/core/macros.hpp:119:0: note: this is the location of the previous definition
     #define CV_TERMCRIT_ITER cv::TermCriteria::Type::MAX_ITER
 
In file included from /usr/include/opencv/opencv2/core/core_c.h:48:0,
                 from /usr/include/opencv/opencv2/imgproc/types_c.h:46,
                 from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/core/types_c.h:907:0: warning: "CV_TERMCRIT_EPS" redefined
 #define CV_TERMCRIT_EPS     2
 
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/local/include/openpose/core/macros.hpp:118:0: note: this is the location of the previous definition
     #define CV_TERMCRIT_EPS cv::TermCriteria::Type::EPS
 
In file included from /usr/include/opencv/opencv2/imgproc/types_c.h:46:0,
                 from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/core/core_c.h:1458:0: warning: "CV_L2" redefined
 #define CV_L2           4
 
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/local/include/openpose/core/macros.hpp:116:0: note: this is the location of the previous definition
     #define CV_L2 cv::NORM_L2
 
/usr/include/opencv/opencv2/imgproc/types_c.h:115:5: error: ‘cv’ redeclared as different kind of symbol
     CV_BGR2RGB     =4,
     ^
In file included from /usr/include/opencv/opencv2/core.hpp:52:0,
                 from /usr/include/opencv/opencv2/core/core.hpp:48,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:4,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/core/cvdef.h:738:11: note: previous declaration ‘namespace cv { }’
 namespace cv {
           ^~
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:115:5: error: expected ‘}’ before ‘::’ token
     CV_BGR2RGB     =4,
     ^
/usr/include/opencv/opencv2/imgproc/types_c.h:115:5: error: explicit qualification in declaration of ‘COLOR_BGR2RGB’
     CV_BGR2RGB     =4,
     ^
In file included from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45:0,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/imgproc/types_c.h:115:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2RGB     =4,
                     ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:116:5: error: ‘<unnamed enum> cv::COLOR_RGB2BGR’ redeclared as different kind of symbol
     CV_RGB2BGR     =CV_BGR2RGB,
     ^
In file included from /usr/include/opencv/opencv2/opencv.hpp:74:0,
                 from /usr/local/include/openpose/calibration/gridPatternFunctions.hpp:4,
                 from /usr/local/include/openpose/calibration/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:8,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc.hpp:535:5: note: previous declaration ‘cv::ColorConversionCodes COLOR_RGB2BGR’
     COLOR_RGB2BGR      = COLOR_BGR2RGB,
     ^~~~~~~~~~~~~
In file included from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45:0,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/imgproc/types_c.h:118:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGRA2RGBA   =5,
                     ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:121:5: error: ‘<unnamed enum> cv::COLOR_BGR2GRAY’ redeclared as different kind of symbol
     CV_BGR2GRAY    =6,
     ^
In file included from /usr/include/opencv/opencv2/opencv.hpp:74:0,
                 from /usr/local/include/openpose/calibration/gridPatternFunctions.hpp:4,
                 from /usr/local/include/openpose/calibration/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:8,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc.hpp:540:5: note: previous declaration ‘cv::ColorConversionCodes COLOR_BGR2GRAY’
     COLOR_BGR2GRAY     = 6, //!< convert between RGB/BGR and grayscale, @ref color_convert_rgb_gray "color conversions"
     ^~~~~~~~~~~~~~
In file included from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45:0,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/imgproc/types_c.h:122:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2GRAY    =7,
                     ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:123:5: error: ‘<unnamed enum> cv::COLOR_GRAY2BGR’ redeclared as different kind of symbol
     CV_GRAY2BGR    =8,
     ^
In file included from /usr/include/opencv/opencv2/opencv.hpp:74:0,
                 from /usr/local/include/openpose/calibration/gridPatternFunctions.hpp:4,
                 from /usr/local/include/openpose/calibration/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:8,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc.hpp:542:5: note: previous declaration ‘cv::ColorConversionCodes COLOR_GRAY2BGR’
     COLOR_GRAY2BGR     = 8,
     ^~~~~~~~~~~~~~
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:124:21: error: cannot convert ‘cv::ColorConversionCodes’ to ‘<unnamed enum>’ in initialization
     CV_GRAY2RGB    =CV_GRAY2BGR,
                     ^
In file included from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45:0,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/imgproc/types_c.h:125:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_GRAY2BGRA   =9,
                     ^
/usr/include/opencv/opencv2/imgproc/types_c.h:127:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGRA2GRAY   =10,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:128:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGBA2GRAY   =11,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:130:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2BGR565  =12,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:131:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2BGR565  =13,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:132:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5652BGR  =14,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:133:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5652RGB  =15,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:134:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGRA2BGR565 =16,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:135:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGBA2BGR565 =17,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:136:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5652BGRA =18,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:137:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5652RGBA =19,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:139:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_GRAY2BGR565 =20,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:140:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5652GRAY =21,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:142:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2BGR555  =22,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:143:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2BGR555  =23,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:144:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5552BGR  =24,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:145:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5552RGB  =25,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:146:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGRA2BGR555 =26,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:147:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGBA2BGR555 =27,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:148:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5552BGRA =28,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:149:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5552RGBA =29,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:151:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_GRAY2BGR555 =30,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:152:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR5552GRAY =31,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:154:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2XYZ     =32,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:155:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2XYZ     =33,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:156:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_XYZ2BGR     =34,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:157:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_XYZ2RGB     =35,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:159:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2YCrCb   =36,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:160:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2YCrCb   =37,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:161:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YCrCb2BGR   =38,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:162:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YCrCb2RGB   =39,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:164:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2HSV     =40,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:165:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2HSV     =41,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:167:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2Lab     =44,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:168:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2Lab     =45,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:170:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerBG2BGR =46,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:171:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGB2BGR =47,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:172:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerRG2BGR =48,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:173:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGR2BGR =49,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:180:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2Luv     =50,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:181:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2Luv     =51,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:182:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2HLS     =52,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:183:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2HLS     =53,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:185:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HSV2BGR     =54,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:186:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HSV2RGB     =55,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:188:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Lab2BGR     =56,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:189:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Lab2RGB     =57,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:190:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Luv2BGR     =58,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:191:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Luv2RGB     =59,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:192:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HLS2BGR     =60,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:193:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HLS2RGB     =61,
                     ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:195:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerBG2BGR_VNG =62,
                         ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:196:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGB2BGR_VNG =63,
                         ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:197:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerRG2BGR_VNG =64,
                         ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:198:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGR2BGR_VNG =65,
                         ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:205:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2HSV_FULL = 66,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:206:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2HSV_FULL = 67,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:207:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2HLS_FULL = 68,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:208:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2HLS_FULL = 69,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:210:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HSV2BGR_FULL = 70,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:211:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HSV2RGB_FULL = 71,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:212:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HLS2BGR_FULL = 72,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:213:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_HLS2RGB_FULL = 73,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:215:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_LBGR2Lab     = 74,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:216:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_LRGB2Lab     = 75,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:217:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_LBGR2Luv     = 76,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:218:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_LRGB2Luv     = 77,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:220:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Lab2LBGR     = 78,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:221:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Lab2LRGB     = 79,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:222:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Luv2LBGR     = 80,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:223:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_Luv2LRGB     = 81,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:225:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2YUV      = 82,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:226:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2YUV      = 83,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:227:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR      = 84,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:228:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB      = 85,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:230:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerBG2GRAY = 86,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:231:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGB2GRAY = 87,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:232:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerRG2GRAY = 88,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:233:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGR2GRAY = 89,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:236:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_NV12 = 90,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:237:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_NV12 = 91,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:238:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_NV21 = 92,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:239:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_NV21 = 93,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:243:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_NV12 = 94,
                        ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:244:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_NV12 = 95,
                        ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:245:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_NV21 = 96,
                        ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:246:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_NV21 = 97,
                        ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:250:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_YV12 = 98,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:251:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_YV12 = 99,
                       ^~
/usr/include/opencv/opencv2/imgproc/types_c.h:252:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_IYUV = 100,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:253:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_IYUV = 101,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:259:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_YV12 = 102,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:260:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_YV12 = 103,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:261:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_IYUV = 104,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:262:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_IYUV = 105,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:268:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2GRAY_420 = 106,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:278:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_UYVY = 107,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:279:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_UYVY = 108,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:287:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_UYVY = 111,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:288:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_UYVY = 112,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:296:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_YUY2 = 115,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:297:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_YUY2 = 116,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:298:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGB_YVYU = 117,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:299:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGR_YVYU = 118,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:305:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_YUY2 = 119,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:306:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_YUY2 = 120,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:307:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2RGBA_YVYU = 121,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:308:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2BGRA_YVYU = 122,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:314:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2GRAY_UYVY = 123,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:315:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_YUV2GRAY_YUY2 = 124,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:324:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGBA2mRGBA = 125,
                     ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:325:21: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_mRGBA2RGBA = 126,
                     ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:327:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2YUV_I420 = 127,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:328:23: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2YUV_I420 = 128,
                       ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:332:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGBA2YUV_I420 = 129,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:333:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGRA2YUV_I420 = 130,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:336:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGB2YUV_YV12  = 131,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:337:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGR2YUV_YV12  = 132,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:338:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_RGBA2YUV_YV12 = 133,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:339:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BGRA2YUV_YV12 = 134,
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:342:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerBG2BGR_EA = 135,
                         ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:343:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGB2BGR_EA = 136,
                         ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:344:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerRG2BGR_EA = 137,
                         ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:345:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGR2BGR_EA = 138,
                         ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:352:22: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerBG2BGRA =139,
                      ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:353:22: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGB2BGRA =140,
                      ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:354:22: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerRG2BGRA =141,
                      ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:355:22: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_BayerGR2BGRA =142,
                      ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:362:24: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_COLORCVT_MAX  = 143
                        ^~~
/usr/include/opencv/opencv2/imgproc/types_c.h:363:1: error: expected ‘,’ or ‘;’ before ‘}’ token
 };
 ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:370:5: error: ‘cv’ redeclared as different kind of symbol
     CV_INTER_LINEAR    =1,
     ^
In file included from /usr/include/opencv/opencv2/core.hpp:52:0,
                 from /usr/include/opencv/opencv2/core/core.hpp:48,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:4,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/core/cvdef.h:738:11: note: previous declaration ‘namespace cv { }’
 namespace cv {
           ^~
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:370:5: error: expected ‘}’ before ‘::’ token
     CV_INTER_LINEAR    =1,
     ^
/usr/include/opencv/opencv2/imgproc/types_c.h:370:5: error: explicit qualification in declaration of ‘INTER_LINEAR’
     CV_INTER_LINEAR    =1,
     ^
In file included from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45:0,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/imgproc/types_c.h:370:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_INTER_LINEAR    =1,
                         ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:5,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc/types_c.h:371:5: error: ‘<unnamed enum> cv::INTER_CUBIC’ redeclared as different kind of symbol
     CV_INTER_CUBIC     =2,
     ^
In file included from /usr/include/opencv/opencv2/opencv.hpp:74:0,
                 from /usr/local/include/openpose/calibration/gridPatternFunctions.hpp:4,
                 from /usr/local/include/openpose/calibration/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:8,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/include/opencv/opencv2/imgproc.hpp:250:5: note: previous declaration ‘cv::InterpolationFlags INTER_CUBIC’
     INTER_CUBIC          = 2,
     ^~~~~~~~~~~
In file included from /opt/ros/melodic/include/cv_bridge/cv_bridge.h:45:0,
                 from /home/nvidia/catkin_ws/src/ros_openpose/include/ros_openpose/cameraReader.hpp:17,
                 from /home/nvidia/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:20:
/usr/include/opencv/opencv2/imgproc/types_c.h:372:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_INTER_AREA      =3,
                         ^
/usr/include/opencv/opencv2/imgproc/types_c.h:373:25: error: invalid conversion from ‘int’ to ‘<unnamed enum>’ [-fpermissive]
     CV_INTER_LANCZOS4  =4
                         ^
/usr/include/opencv/opencv2/imgproc/types_c.h:374:1: error: expected ‘,’ or ‘;’ before ‘}’ token
 };
 ^
/usr/include/opencv/opencv2/imgproc/types_c.h:374:1: error: expected declaration before ‘}’ token
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:62: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o' failed
make[2]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o] Error 1
CMakeFiles/Makefile2:1246: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

Can't compile

I am having the same problem as in Issue #1, and can't compile the project. I am using a fresh Ubuntu 16.04 install with ROS-Kinetic and OpenPose 1.5.1. I never installed any previous version of OpenPose, but I am getting the same problem as in #1:

error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)
         datumPtr->cvInputData = colorImage;

I noticed that I had two versions of OpenCV (2.4, supplied by Ubuntu, and 3.3, supplied by ROS), so I tried using only both (first try), then I removed 3.3 (which didn't work because the projects are dependent on ros-kinetic-cv-bridge). Finally, I removed 2.4 completely and compiled with 3.3 only, but I still got the same errors.

Please, do you have any suggestion?

I am also enclosing the full catkin_make output for completion.

Thanks!

catkin_make output:

silas:~/catkin_ws$ catkin_make
Base path: /home/silas/catkin_ws
Source space: /home/silas/catkin_ws/src
Build space: /home/silas/catkin_ws/build
Devel space: /home/silas/catkin_ws/devel
Install space: /home/silas/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/silas/catkin_ws/build"
####
####
#### Running command: "make -j6 -l6" in "/home/silas/catkin_ws/build"
####
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target _ros_openpose_generate_messages_check_deps_Person
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target _ros_openpose_generate_messages_check_deps_BodyPart
[  0%] Built target _ros_openpose_generate_messages_check_deps_Frame
[  0%] Built target _ros_openpose_generate_messages_check_deps_Pixel
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  2%] Built target std_msgs_generate_messages_lisp
[  2%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o
[  2%] Built target _catkin_empty_exported_target
[  2%] Built target sensor_msgs_generate_messages_lisp
[  2%] Built target diagnostic_msgs_generate_messages_py
[  9%] Built target testCameraReader
[  9%] Built target roscpp_generate_messages_nodejs
[  9%] Built target roscpp_generate_messages_lisp
[  9%] Built target rosgraph_msgs_generate_messages_lisp
[  9%] Built target rosgraph_msgs_generate_messages_py
[  9%] Built target sensor_msgs_generate_messages_nodejs
[  9%] Built target rosgraph_msgs_generate_messages_nodejs
[  9%] Built target rosgraph_msgs_generate_messages_eus
[  9%] Built target sensor_msgs_generate_messages_eus
[  9%] Built target roscpp_generate_messages_py
[  9%] Built target rosgraph_msgs_generate_messages_cpp
[  9%] Built target sensor_msgs_generate_messages_py
[  9%] Built target roscpp_generate_messages_cpp
[  9%] Built target roscpp_generate_messages_eus
[  9%] Built target sensor_msgs_generate_messages_cpp
[  9%] Built target tf_generate_messages_cpp
[  9%] Built target actionlib_generate_messages_eus
[  9%] Built target dynamic_reconfigure_generate_messages_py
[  9%] Built target _realsense2_camera_generate_messages_check_deps_IMUInfo
[  9%] Built target bond_generate_messages_lisp
[  9%] Built target _realsense2_camera_generate_messages_check_deps_Extrinsics
[  9%] Built target nodelet_generate_messages_nodejs
[  9%] Built target nav_msgs_generate_messages_lisp
[  9%] Built target nodelet_generate_messages_cpp
[  9%] Built target tf2_msgs_generate_messages_eus
[  9%] Built target nodelet_generate_messages_lisp
[  9%] Built target bond_generate_messages_cpp
[  9%] Built target nav_msgs_generate_messages_cpp
[  9%] Built target nodelet_generate_messages_py
[  9%] Built target dynamic_reconfigure_generate_messages_nodejs
[  9%] Built target nav_msgs_generate_messages_eus
[  9%] Built target nav_msgs_generate_messages_py
[  9%] Built target tf2_msgs_generate_messages_py
[  9%] Built target actionlib_msgs_generate_messages_nodejs
[  9%] Built target tf_generate_messages_eus
[  9%] Built target actionlib_generate_messages_cpp
[  9%] Built target bond_generate_messages_py
[  9%] Built target diagnostic_msgs_generate_messages_eus
[  9%] Built target dynamic_reconfigure_generate_messages_cpp
[  9%] Built target actionlib_msgs_generate_messages_lisp
[  9%] Built target nav_msgs_generate_messages_nodejs
[  9%] Built target actionlib_generate_messages_py
[  9%] Built target actionlib_msgs_generate_messages_py
[  9%] Built target tf2_msgs_generate_messages_nodejs
[  9%] Built target bond_generate_messages_nodejs
[  9%] Built target nodelet_generate_messages_eus
[  9%] Built target dynamic_reconfigure_gencfg
[  9%] Built target tf_generate_messages_nodejs
[  9%] Built target diagnostic_msgs_generate_messages_cpp
[  9%] Built target tf_generate_messages_py
[  9%] Built target actionlib_msgs_generate_messages_eus
[  9%] Built target actionlib_msgs_generate_messages_cpp
[  9%] Built target actionlib_generate_messages_lisp
[  9%] Built target tf2_msgs_generate_messages_cpp
[  9%] Built target tf2_msgs_generate_messages_lisp
[  9%] Built target actionlib_generate_messages_nodejs
[  9%] Built target dynamic_reconfigure_generate_messages_eus
[  9%] Built target dynamic_reconfigure_generate_messages_lisp
[  9%] Built target diagnostic_msgs_generate_messages_lisp
[  9%] Built target diagnostic_msgs_generate_messages_nodejs
[  9%] Built target bond_generate_messages_eus
[  9%] Built target tf_generate_messages_lisp
[ 13%] Built target realsense2_camera_generate_messages_nodejs
[ 18%] Built target realsense2_camera_generate_messages_lisp
[ 25%] Built target realsense2_camera_generate_messages_eus
[ 31%] Built target realsense2_camera_generate_messages_py
[ 43%] Built target ros_openpose_generate_messages_py
[ 52%] Built target ros_openpose_generate_messages_cpp
[ 65%] Built target ros_openpose_generate_messages_nodejs
[ 70%] Built target ros_openpose_generate_messages_lisp
[ 81%] Built target ros_openpose_generate_messages_eus
[ 86%] Built target realsense2_camera_generate_messages_cpp
[ 86%] Built target ros_openpose_generate_messages
[ 86%] Built target realsense2_camera_generate_messages
[ 95%] Built target realsense2_camera
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp: In member function ‘virtual sPtrVecSPtrDatum WUserInput::workProducer()’:
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:60:31: error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)
         datumPtr->cvInputData = colorImage;
                               ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:4,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/core/matrix.hpp:95:18: note: candidate: op::Matrix& op::Matrix::operator=(const op::Matrix&)
     class OP_API Matrix
                  ^
/usr/local/include/openpose/core/matrix.hpp:95:18: note:   no known conversion for argument 1 from ‘const cv::Mat’ to ‘const op::Matrix&’
/usr/local/include/openpose/core/matrix.hpp:95:18: note: candidate: op::Matrix& op::Matrix::operator=(op::Matrix&&)
/usr/local/include/openpose/core/matrix.hpp:95:18: note:   no known conversion for argument 1 from ‘const cv::Mat’ to ‘op::Matrix&&’
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp: In function ‘void configureOpenPose(op::Wrapper&, const std::shared_ptr<ros_openpose::CameraReader>&, const ros::Publisher&, const string&)’:
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:187:5: error: ‘check’ is not a member of ‘op’
     op::check(0 <= FLAGS_logging_level && FLAGS_logging_level <= 255,
     ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:187:5: note: suggested alternative:
In file included from /opt/ros/kinetic/include/ros/ros.h:52:0,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:13:
/opt/ros/kinetic/include/ros/master.h:80:18: note:   ‘ros::master::check’
 ROSCPP_DECL bool check();
                  ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:198:78: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto outputSize = op::flagsToPoint(FLAGS_output_resolution, "-1x-1");
                                                                              ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:201:78: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto netInputSize = op::flagsToPoint(FLAGS_net_resolution, "-1x368");
                                                                              ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:204:106: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto faceNetInputSize = op::flagsToPoint(FLAGS_face_net_resolution, "368x368 (multiples of 16)");
                                                                                                          ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:207:106: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto handNetInputSize = op::flagsToPoint(FLAGS_hand_net_resolution, "368x368 (multiples of 16)");
                                                                                                          ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:213:65: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto poseModel = op::flagsToPoseModel(FLAGS_model_pose);
                                                                 ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:15:22: note: in passing argument 1 of ‘op::PoseModel op::flagsToPoseModel(const op::String&)’
     OP_API PoseModel flagsToPoseModel(const String& poseModeString);
                      ^
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:278:70: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
                                                   enableGoogleLogging};
                                                                      ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:13:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:212:9: note: candidate: op::WrapperStructPose::WrapperStructPose(op::PoseMode, const op::Point<int>&, const op::Point<int>&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, const op::String&, const std::vector<op::HeatMapType>&, op::ScaleMode, bool, float, int, bool, double, const op::String&, const op::String&, float, bool)
         WrapperStructPose(
         ^
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:212:9: note:   conversion of argument 2 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(const op::WrapperStructPose&)
     struct OP_API WrapperStructPose
                   ^
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(op::WrapperStructPose&&)
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:290:85: error: no matching function for call to ‘op::WrapperStructFace::WrapperStructFace(<brace-enclosed initializer list>)’
                                                   (float)FLAGS_face_render_threshold};
                                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:8:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:69:9: note: candidate: op::WrapperStructFace::WrapperStructFace(bool, op::Detector, const op::Point<int>&, op::RenderMode, float, float, float)
         WrapperStructFace(
         ^
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:69:9: note:   conversion of argument 3 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note: candidate: op::WrapperStructFace::WrapperStructFace(const op::WrapperStructFace&)
     struct OP_API WrapperStructFace
                   ^
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note:   candidate expects 1 argument, 7 provided
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note: candidate: op::WrapperStructFace::WrapperStructFace(op::WrapperStructFace&&)
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note:   candidate expects 1 argument, 7 provided
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:304:85: error: no matching function for call to ‘op::WrapperStructHand::WrapperStructHand(<brace-enclosed initializer list>)’
                                                   (float)FLAGS_hand_render_threshold};
                                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:10:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:88:9: note: candidate: op::WrapperStructHand::WrapperStructHand(bool, op::Detector, const op::Point<int>&, int, float, op::RenderMode, float, float, float)
         WrapperStructHand(
         ^
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:88:9: note:   conversion of argument 3 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note: candidate: op::WrapperStructHand::WrapperStructHand(const op::WrapperStructHand&)
     struct OP_API WrapperStructHand
                   ^
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note:   candidate expects 1 argument, 9 provided
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note: candidate: op::WrapperStructHand::WrapperStructHand(op::WrapperStructHand&&)
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note:   candidate expects 1 argument, 9 provided
/home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:334:69: error: no matching function for call to ‘op::WrapperStructOutput::WrapperStructOutput(<brace-enclosed initializer list>)’
                                                       FLAGS_udp_port};
                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:12:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/silas/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:150:9: note: candidate: op::WrapperStructOutput::WrapperStructOutput(double, const op::String&, op::DataFormat, const op::String&, const op::String&, int, int, const op::String&, const op::String&, const op::String&, double, bool, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&)
         WrapperStructOutput(
         ^
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:150:9: note:   no known conversion for argument 2 from ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’ to ‘const op::String&’
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note: candidate: op::WrapperStructOutput::WrapperStructOutput(const op::WrapperStructOutput&)
     struct OP_API WrapperStructOutput
                   ^
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note:   candidate expects 1 argument, 19 provided
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note: candidate: op::WrapperStructOutput::WrapperStructOutput(op::WrapperStructOutput&&)
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note:   candidate expects 1 argument, 19 provided
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:62: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o' failed
make[2]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o] Error 1
CMakeFiles/Makefile2:1593: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j6 -l6" failed

Error running on Ubuntu 20.04 with RealSense

Hello @ravijo,

first of all thanks for your great work, this is exactly what i was searching for!

I'm trying to run the ROS wrapper on Ubuntu 20.04, ROS noetic and OpenPose 1.7 (using CUDA 11.1 and cuDNN 8.05) with Intel RealSense 435. Running OpenPose on it's own is working fine so far. The problem is when i try to run your project within my ros workspace it doesn't work, i think due to those errors: [visualizer-3] process has died [pid 22718, exit code 127, cmd /home/fabian/catkin_ws/src/ros_openpose/scripts/visualizer.py and process has died [pid 22719, exit code 127, cmd /home/fabian/catkin_ws/src/ros_openpose/scripts/echo.py. See attached log files for more information.

Is this issue related to my OpenPose version since you've recommended version 1.6?

Best Regards,
Fabian

Logs:
master.log
roslaunch-fabian-MS-7C76-22692.log
rosout.log
rosout-1-stdout.log
rviz-7-stdout.log

Question about Azure Kinect Depth information

Hi, I apologize if this is an ignorant question, however I am having trouble understanding how to get depth information from the Azure Kinect using this package. I definitely get 2d output in the console, however, I do not see a Z entry, is there some way to get that information?

Here is a sample output of the information while testing at my desk.

Thank you so much for your help!!

y: 0.0, x: 1377.77819824
y: 515.407470703, x: 1670.69921875
y: 620.101135254, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1105.66638184
y: 415.028503418, x: 682.829711914
y: 674.433959961, x: 385.547424316
y: 850.206054688, x: 1189.40771484
y: 1164.23413086, x: 1369.34387207
y: 1160.03320312, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1628.87231445
y: 301.859985352, x: 1319.22668457
y: 117.640922546, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0]

[INFO] [1622857957.372276]: [x: 0.0
y: 0.0, x: 1377.73901367
y: 515.395507812, x: 1679.06237793
y: 628.458557129, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1101.47973633
y: 419.004608154, x: 691.223449707
y: 670.295593262, x: 0.0
y: 0.0, x: 1189.33251953
y: 1118.19421387, x: 1344.23791504
y: 1126.5501709, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 1624.6829834
y: 281.055999756, x: 1294.05151367
y: 88.4597396851, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0, x: 0.0
y: 0.0]

Out of Memory

Hi,

I faced this issue when running run.launch with realsense camera

Check failed: error == cudaSuccess (2 vs. 0)  out of memory

I installed openpose and verified that the demo in openpose's example folder works(with smaller net_resolution size).

I tried to modify the net resolution in rosOpenposeAsync.cpp from 368 to something smaller but still crash ...
Any idea how to overcome this issue with realsense input?

Webcam warning Waiting for datum

Hi, @ravijo
Greetings
I am using the package to run pose detection with webcam

roslaunch command

roslaunch ros_openpose run.launch camera:=nodepth

I already followed the issue #33
the images are being published on the rostopic /image_view/output as well as /usb_cam/image_raw
so I am using the /usb_cam/image_raw changed it in the config_nodepth.launch file in the color_topic argument

but still getting this warning and the frames are not getting published on the /frame topic

Log

SUMMARY
========

PARAMETERS
 * /echo/pub_topic: /frame
 * /rosOpenpose/cam_info_topic: /usb_cam/camera_info
 * /rosOpenpose/color_topic: /usb_cam/image_raw
 * /rosOpenpose/depth_topic: depth_topic
 * /rosOpenpose/frame_id: no_depth
 * /rosOpenpose/no_depth: True
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: noetic
 * /rosversion: 1.15.14

NODES
  /
    echo (ros_openpose/echo.py)
    rosOpenpose (ros_openpose/rosOpenposeAsync)

ROS_MASTER_URI=http://127.0.0.1:11311

process[rosOpenpose-1]: started with pid [25834]
process[echo-2]: started with pid [25835]
[ INFO] [1645378321.619527110]: Starting ros_openpose...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
[ WARN] [1645378321.650289606]: Waiting for color image frame...
[ WARN] [1645378321.650860940]: Waiting for datum...
[ WARN] [1645378331.660552974]: Waiting for datum...
[ WARN] [1645378341.667158112]: Waiting for datum...
[ WARN] [1645378351.670812492]: Waiting for datum...
[ WARN] [1645378361.676992992]: Waiting for datum...
[ WARN] [1645378371.684219336]: Waiting for datum...
^C[echo-2] killing on exit
[rosOpenpose-1] killing on exit
[rosOpenpose-1] escalating to SIGTERM
shutting down processing monitor...
... shutting down processing monitor complete
done

can you please help me?
Thank you ❤️

Fix suggestion for skeleton markers not showing on RViz when using ros_openpose_synchronous.py with azurekinect camera

First of all, thanks for your work.

When launching run.launch with synchronous:=true and camera:=azurekinect,
the skeleton markers doesn't show on the point clouds in RViz.
Instead if you look carefully at the origin (0,0) you can see markers all together.
It's probably because the depth values of azurekinect are at a different scale than for realsense.

So when I changed the lines 150, 154, 158 in ros_openpose_synchronous.py to multiply 1000, it worked fine.

Like this -> b_XYZ = self.compute_3D_vectorized(pose_kp, depth) * 1000

But this is only for the azurekinect. For the realsense camera, it needs to be without the * 1000.
(I haven't tried the other cameras though)

Also, when I don't use ros_openpose_synchronous.py (i.e. synchronous:=false) then it works fine without any changes.

Question about Depth information when using IntelRealsense

Hi. Thank you for your great code!! I installed and ran this repository successfully due to your kind instruction.

However, the depth value which is contained in Frame topic might be strange...
(the value only has 1.0 or 2.0 or 3.0 or 4.0 or 5.0)
It's supposed to have float values like 1.1.

Do you have any ideas about this things?

When I echoed the Frame, I got the following results

score: 0.218902811408
pixel: 
  x: 444.264190674
  y: 146.671981812
point: 
  x: 0.198683813214
  y: -0.153367757797
  z: 1.0  # Here
[INFO] [1602521053.435068]: Human Point estimation bodypart score: 0.393784701824
pixel: 
  x: 382.929473877
  y: 318.964385986
point: 
  x: 0.198683813214
  y: -0.153367757797
  z: 1.0  # Here
[INFO] [1602521053.435608]: Human Point estimation bodypart score: 0.100059762597
pixel: 
  x: 365.940765381
  y: 444.267089844
point: 
  x: -2.12089323997
  y: -1.57605838776
  z: 4.0  # Here
[INFO] [1602521053.476026]: Human Point estimation bodypart score: 0.224799275398
pixel: 
  x: 458.610015869
  y: 140.16998291
point: 
  x: 0.22222109139
  y: -0.16403567791
  z: 1.0  # Here
[INFO] [1602521053.476766]: Human Point estimation bodypart score: 0.341619074345
pixel: 
  x: 397.282806396
  y: 318.949279785
point: 
  x: 0.22222109139
  y: -0.16403567791
  z: 1.0  # Here

Using Xtion Camera

Hi @ravijo thank you for your sharing code
i have tried to run your code using the Xtion camera. but the marker array not appear in the point cloud2 Rviz. here my setting

the RGB work very well but the depth not showing any result of marker array

Problem with 3D visualization inside RVIZ.

I have a problem with 3D visualization inside RVIZ

I cam see the skeleton in default window
But, in rviz only the image

In console show next error:

 _File "/home/user/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 169, in frame_callback
    leftHandPart =  person.leftHandParts[point_id]
IndexError: list index out of range_

Output in rostopic echo /frame:

> point:
> x: 0.0278618205339
> y: -0.336625277996
> z: 0.774000048637
> -
> score: 0.0
> pixel:
> x: 0.0
> y: 0.0
> point:
> x: -0.193545013666
> y: 0.103801973164
> z: 0.628000020981
> -
> score: 0.0
> pixel:
> x: 0.0
> y: 0.0
> point:
> x: -0.193545013666
> y: 0.103801973164
> z: 0.628000020981
> -
> score: 0.0
> pixel:
> x: 0.0
> y: 0.0
> point:
> x: -0.477131932974
> y: 0.190523177385
> z: 1.23500001431
> -
> score: 0.0
> pixel:
> x: 0.0
> y: 0.0
> point:
> x: -0.477131932974
> y: 0.190523177385
> z: 1.23500001431
> -
> score: 0.0
> pixel:
> x: 0.0
> y: 0.0
> point:
> x: -0.1889847368
> y: 0.0630785375834
> z: 0.572000026703
> -
> score: 0.0
> pixel:
> x: 0.0
> y: 0.0
> point:
> x: -0.1889847368
> y: 0.0630785375834
> z: 0.572000026703
> leftHandParts: []
> rightHandParts: []

Can't compile.

After cloning the ros_openpose repo and run catkin_make i receive this output:

Base path: /home/gryogor/catkin_ws
Source space: /home/gryogor/catkin_ws/src
Build space: /home/gryogor/catkin_ws/build
Devel space: /home/gryogor/catkin_ws/devel
Install space: /home/gryogor/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/gryogor/catkin_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/gryogor/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/gryogor/catkin_ws/devel;/opt/ros/kinetic
-- This workspace overlays: /home/gryogor/catkin_ws/devel;/opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: False
-- catkin 0.7.18
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 3 packages in topological order:
-- ~~  - realsense2_description
-- ~~  - ros_openpose
-- ~~  - realsense2_camera
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'realsense2_description'
-- ==> add_subdirectory(realsense-ros/realsense2_description)
-- +++ processing catkin package: 'ros_openpose'
-- ==> add_subdirectory(ros_openpose)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Found gflags  (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libgflags.so)
-- Found glog    (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libglog.so)
-- ros_openpose: 4 messages, 0 services
-- +++ processing catkin package: 'realsense2_camera'
-- ==> add_subdirectory(realsense-ros/realsense2_camera)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Create Debug Build.
-- realsense2_camera: 2 messages, 0 services
-- Configuring done
-- Generating done
-- Build files have been written to: /home/gryogor/catkin_ws/build
####
#### Running command: "make -j4 -l4" in "/home/gryogor/catkin_ws/build"
####
[  0%] Built target _ros_openpose_generate_messages_check_deps_Pixel
[  0%] Built target _ros_openpose_generate_messages_check_deps_Frame
[  0%] Built target _ros_openpose_generate_messages_check_deps_BodyPart
[  0%] Built target _ros_openpose_generate_messages_check_deps_Person
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_nodejs
Scanning dependencies of target testCameraReader
Scanning dependencies of target rosOpenpose
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_lisp
[  2%] Building CXX object ros_openpose/CMakeFiles/testCameraReader.dir/src/testCameraReader.cpp.o
[  2%] Built target _catkin_empty_exported_target
[  2%] Built target diagnostic_msgs_generate_messages_py
[  4%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o
[  4%] Built target sensor_msgs_generate_messages_lisp
[  4%] Built target roscpp_generate_messages_lisp
[  6%] Building CXX object ros_openpose/CMakeFiles/testCameraReader.dir/src/cameraReader.cpp.o
[  6%] Built target roscpp_generate_messages_nodejs
[  6%] Built target rosgraph_msgs_generate_messages_lisp
[  6%] Built target rosgraph_msgs_generate_messages_py
[  6%] Built target sensor_msgs_generate_messages_nodejs
[  6%] Built target sensor_msgs_generate_messages_eus
[  9%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/cameraReader.cpp.o
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp: In member function ‘virtual sPtrVecSPtrDatum WUserInput::workProducer()’:
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:60:31: error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)
         datumPtr->cvInputData = colorImage;
                               ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:4,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/core/matrix.hpp:95:18: note: candidate: op::Matrix& op::Matrix::operator=(const op::Matrix&)
     class OP_API Matrix
                  ^
/usr/local/include/openpose/core/matrix.hpp:95:18: note:   no known conversion for argument 1 from ‘const cv::Mat’ to ‘const op::Matrix&’
/usr/local/include/openpose/core/matrix.hpp:95:18: note: candidate: op::Matrix& op::Matrix::operator=(op::Matrix&&)
/usr/local/include/openpose/core/matrix.hpp:95:18: note:   no known conversion for argument 1 from ‘const cv::Mat’ to ‘op::Matrix&&’
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp: In function ‘void configureOpenPose(op::Wrapper&, const std::shared_ptr<ros_openpose::CameraReader>&, const ros::Publisher&, const string&)’:
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:187:5: error: ‘check’ is not a member of ‘op’
     op::check(0 <= FLAGS_logging_level && FLAGS_logging_level <= 255,
     ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:187:5: note: suggested alternative:
In file included from /opt/ros/kinetic/include/ros/ros.h:52:0,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:13:
/opt/ros/kinetic/include/ros/master.h:80:18: note:   ‘ros::master::check’
 ROSCPP_DECL bool check();
                  ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:198:78: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto outputSize = op::flagsToPoint(FLAGS_output_resolution, "-1x-1");
                                                                              ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:201:78: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto netInputSize = op::flagsToPoint(FLAGS_net_resolution, "-1x368");
                                                                              ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:204:106: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto faceNetInputSize = op::flagsToPoint(FLAGS_face_net_resolution, "368x368 (multiples of 16)");
                                                                                                          ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:207:106: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto handNetInputSize = op::flagsToPoint(FLAGS_hand_net_resolution, "368x368 (multiples of 16)");
                                                                                                          ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:213:65: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto poseModel = op::flagsToPoseModel(FLAGS_model_pose);
                                                                 ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:15:22: note: in passing argument 1 of ‘op::PoseModel op::flagsToPoseModel(const op::String&)’
     OP_API PoseModel flagsToPoseModel(const String& poseModeString);
                      ^
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:278:70: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
                                                   enableGoogleLogging};
                                                                      ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:13:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:212:9: note: candidate: op::WrapperStructPose::WrapperStructPose(op::PoseMode, const op::Point<int>&, const op::Point<int>&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, const op::String&, const std::vector<op::HeatMapType>&, op::ScaleMode, bool, float, int, bool, double, const op::String&, const op::String&, float, bool)
         WrapperStructPose(
         ^
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:212:9: note:   conversion of argument 2 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(const op::WrapperStructPose&)
     struct OP_API WrapperStructPose
                   ^
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(op::WrapperStructPose&&)
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:290:85: error: no matching function for call to ‘op::WrapperStructFace::WrapperStructFace(<brace-enclosed initializer list>)’
                                                   (float)FLAGS_face_render_threshold};
                                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:8:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:69:9: note: candidate: op::WrapperStructFace::WrapperStructFace(bool, op::Detector, const op::Point<int>&, op::RenderMode, float, float, float)
         WrapperStructFace(
         ^
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:69:9: note:   conversion of argument 3 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note: candidate: op::WrapperStructFace::WrapperStructFace(const op::WrapperStructFace&)
     struct OP_API WrapperStructFace
                   ^
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note:   candidate expects 1 argument, 7 provided
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note: candidate: op::WrapperStructFace::WrapperStructFace(op::WrapperStructFace&&)
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note:   candidate expects 1 argument, 7 provided
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:304:85: error: no matching function for call to ‘op::WrapperStructHand::WrapperStructHand(<brace-enclosed initializer list>)’
                                                   (float)FLAGS_hand_render_threshold};
                                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:10:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:88:9: note: candidate: op::WrapperStructHand::WrapperStructHand(bool, op::Detector, const op::Point<int>&, int, float, op::RenderMode, float, float, float)
         WrapperStructHand(
         ^
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:88:9: note:   conversion of argument 3 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note: candidate: op::WrapperStructHand::WrapperStructHand(const op::WrapperStructHand&)
     struct OP_API WrapperStructHand
                   ^
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note:   candidate expects 1 argument, 9 provided
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note: candidate: op::WrapperStructHand::WrapperStructHand(op::WrapperStructHand&&)
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note:   candidate expects 1 argument, 9 provided
/home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:334:69: error: no matching function for call to ‘op::WrapperStructOutput::WrapperStructOutput(<brace-enclosed initializer list>)’
                                                       FLAGS_udp_port};
                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:12:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/gryogor/catkin_ws/src/ros_openpose/src/rosOpenpose.cpp:21:
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:150:9: note: candidate: op::WrapperStructOutput::WrapperStructOutput(double, const op::String&, op::DataFormat, const op::String&, const op::String&, int, int, const op::String&, const op::String&, const op::String&, double, bool, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&)
         WrapperStructOutput(
         ^
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:150:9: note:   no known conversion for argument 2 from ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’ to ‘const op::String&’
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note: candidate: op::WrapperStructOutput::WrapperStructOutput(const op::WrapperStructOutput&)
     struct OP_API WrapperStructOutput
                   ^
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note:   candidate expects 1 argument, 19 provided
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note: candidate: op::WrapperStructOutput::WrapperStructOutput(op::WrapperStructOutput&&)
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note:   candidate expects 1 argument, 19 provided
[  9%] Built target rosgraph_msgs_generate_messages_cpp
[  9%] Built target rosgraph_msgs_generate_messages_nodejs
[  9%] Built target rosgraph_msgs_generate_messages_eus
[  9%] Built target roscpp_generate_messages_py
[  9%] Built target sensor_msgs_generate_messages_py
[  9%] Built target roscpp_generate_messages_eus
[  9%] Built target sensor_msgs_generate_messages_cpp
[  9%] Built target roscpp_generate_messages_cpp
[  9%] Built target _realsense2_camera_generate_messages_check_deps_Extrinsics
[  9%] Built target _realsense2_camera_generate_messages_check_deps_IMUInfo
[  9%] Built target tf_generate_messages_cpp
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:62: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o' failed
make[2]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[  9%] Built target actionlib_generate_messages_eus
[  9%] Built target dynamic_reconfigure_generate_messages_py
[  9%] Built target nodelet_generate_messages_nodejs
[  9%] Built target nav_msgs_generate_messages_lisp
[  9%] Built target bond_generate_messages_lisp
[  9%] Built target nodelet_generate_messages_cpp
[  9%] Built target nodelet_generate_messages_lisp
[  9%] Built target bond_generate_messages_cpp
[  9%] Built target tf2_msgs_generate_messages_eus
[  9%] Built target nodelet_generate_messages_py
[  9%] Built target nav_msgs_generate_messages_cpp
[  9%] Built target dynamic_reconfigure_generate_messages_nodejs
[  9%] Built target nav_msgs_generate_messages_eus
[  9%] Built target nav_msgs_generate_messages_py
[  9%] Built target tf2_msgs_generate_messages_py
[  9%] Built target actionlib_msgs_generate_messages_nodejs
[  9%] Built target actionlib_generate_messages_cpp
[  9%] Built target tf_generate_messages_eus
[  9%] Built target bond_generate_messages_py
[  9%] Built target dynamic_reconfigure_generate_messages_cpp
[  9%] Built target diagnostic_msgs_generate_messages_eus
[  9%] Built target actionlib_msgs_generate_messages_lisp
[  9%] Built target nav_msgs_generate_messages_nodejs
[  9%] Built target actionlib_generate_messages_py
[  9%] Built target bond_generate_messages_nodejs
[  9%] Built target actionlib_msgs_generate_messages_py
[  9%] Built target nodelet_generate_messages_eus
[  9%] Built target tf2_msgs_generate_messages_nodejs
[  9%] Built target dynamic_reconfigure_gencfg
[  9%] Built target tf_generate_messages_nodejs
[  9%] Built target diagnostic_msgs_generate_messages_cpp
[  9%] Built target tf_generate_messages_py
[  9%] Built target actionlib_generate_messages_lisp
[  9%] Built target actionlib_msgs_generate_messages_eus
[  9%] Built target actionlib_msgs_generate_messages_cpp
[  9%] Built target actionlib_generate_messages_nodejs
[  9%] Built target tf2_msgs_generate_messages_cpp
[  9%] Built target tf2_msgs_generate_messages_lisp
[  9%] Built target dynamic_reconfigure_generate_messages_eus
[  9%] Built target dynamic_reconfigure_generate_messages_lisp
[  9%] Built target bond_generate_messages_eus
[  9%] Built target diagnostic_msgs_generate_messages_lisp
[  9%] Built target diagnostic_msgs_generate_messages_nodejs
[  9%] Built target tf_generate_messages_lisp
[ 13%] Built target realsense2_camera_generate_messages_nodejs
[ 18%] Built target realsense2_camera_generate_messages_lisp
[ 25%] Built target realsense2_camera_generate_messages_eus
[ 31%] Built target realsense2_camera_generate_messages_py
[ 34%] Generating Python from MSG ros_openpose/BodyPart
[ 36%] Generating C++ code from ros_openpose/BodyPart.msg
[ 38%] Generating Python from MSG ros_openpose/Pixel
[ 40%] Generating C++ code from ros_openpose/Pixel.msg
[ 43%] Generating Python from MSG ros_openpose/Person
[ 45%] Generating C++ code from ros_openpose/Person.msg
[ 47%] Generating Python from MSG ros_openpose/Frame
[ 50%] Generating C++ code from ros_openpose/Frame.msg
[ 52%] Generating Python msg __init__.py for ros_openpose
[ 52%] Built target ros_openpose_generate_messages_cpp
[ 54%] Generating EusLisp code from ros_openpose/BodyPart.msg
[ 54%] Built target ros_openpose_generate_messages_py
[ 56%] Generating Javascript code from ros_openpose/BodyPart.msg
[ 59%] Generating EusLisp code from ros_openpose/Pixel.msg
[ 61%] Generating Javascript code from ros_openpose/Pixel.msg
[ 63%] Generating EusLisp code from ros_openpose/Person.msg
[ 65%] Generating Javascript code from ros_openpose/Person.msg
[ 68%] Generating EusLisp code from ros_openpose/Frame.msg
[ 70%] Generating Javascript code from ros_openpose/Frame.msg
[ 72%] Built target ros_openpose_generate_messages_eus
[ 72%] Built target ros_openpose_generate_messages_nodejs
[ 75%] Generating Lisp code from ros_openpose/BodyPart.msg
[ 79%] Built target realsense2_camera_generate_messages_cpp
[ 81%] Generating Lisp code from ros_openpose/Pixel.msg
[ 90%] Built target realsense2_camera
[ 90%] Built target realsense2_camera_generate_messages
[ 93%] Generating Lisp code from ros_openpose/Person.msg
[ 95%] Generating Lisp code from ros_openpose/Frame.msg
[ 95%] Built target ros_openpose_generate_messages_lisp
[ 95%] Built target ros_openpose_generate_messages
[ 97%] Linking CXX executable /home/gryogor/catkin_ws/devel/lib/ros_openpose/testCameraReader
CMakeFiles/Makefile2:1593: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Built target testCameraReader
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

Does anyone know how to fix it?

error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose

Hello, I'm having trouble with catkin_make because the error below keeps occuring.

[ 98%] Built target transform_nodelet
/home/isr_gd/isr_gd_ws/src/ros_openpose/src/rosOpenpose.cpp: In function ‘void configureOpenPose(op::Wrapper&, const std::shared_ptr<ros_openpose::CameraReader>&, const ros::Publisher&, const string&, bool)’:
/home/isr_gd/isr_gd_ws/src/ros_openpose/src/rosOpenpose.cpp:392:70: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
                                                   enableGoogleLogging};
                                                                      ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:13:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from /home/isr_gd/isr_gd_ws/src/ros_openpose/src/rosOpenpose.cpp:16:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:221:9: note: candidate: op::WrapperStructPose::WrapperStructPose(op::PoseMode, const op::Point<int>&, double, const op::Point<int>&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, const op::String&, const std::vector<op::HeatMapType>&, op::ScaleMode, bool, float, int, bool, double, const op::String&, const op::String&, float, bool)
         WrapperStructPose(
         ^~~~~~~~~~~~~~~~~
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:221:9: note:   no known conversion for argument 3 from ‘const op::Point<int>’ to ‘double’
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(const op::WrapperStructPose&)
     struct OP_API WrapperStructPose
                   ^~~~~~~~~~~~~~~~~
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(op::WrapperStructPose&&)
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:75: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o' failed
make[2]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o] Error 1
CMakeFiles/Makefile2:5279: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j16 -l16" failed

I'm using Ubuntu 18.04 with CUDA 10..

It would be really thankful to solve this issue.

problem with run.launch

hi
i have a problem when i try to launch run.launch.
i have a openpose with only cpu, the file test openpose.bin work for me (very very slowly, if i use --net_resolution -1x32 run with 4 fps).
but when i launch the file run.launch, it gives me error:

roslaunch ros_openpose run.launch 
... logging to /home/nicco/.ros/log/ccdfaedc-cfa5-11ec-9b59-9cfce8af62c0/roslaunch-nicco-VivoBook-ASUSLaptop-X509JA-X509JA-18553.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://nicco-VivoBook-ASUSLaptop-X509JA-X509JA:44959/

SUMMARY
========

PARAMETERS
 * /echo/pub_topic: /frame
 * /rosOpenpose/cam_info_topic: cam_info_topic
 * /rosOpenpose/color_topic: /camera/image_raw
 * /rosOpenpose/depth_topic: depth_topic
 * /rosOpenpose/frame_id: no_depth
 * /rosOpenpose/no_depth: True
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /
    echo (ros_openpose/echo.py)
    rosOpenpose (ros_openpose/rosOpenposeAsync)

ROS_MASTER_URI=http://localhost:11311

process[rosOpenpose-1]: started with pid [18571]
process[echo-2]: started with pid [18572]
[ INFO] [1652107174.632115228]: Starting ros_openpose...
---------------------------------- WARNING ----------------------------------
We have introduced an additional boost in accuracy in the CUDA version of about 0.2% with respect to the CPU/OpenCL versions. We will not port this to CPU given the considerable slow down in speed it would add to it. Nevertheless, this accuracy boost is almost insignificant so the CPU/OpenCL versions can be safely used.
-------------------------------- END WARNING --------------------------------
================================================================================
REQUIRED process [rosOpenpose-1] has died!
process has died [pid 18571, exit code -11, cmd /home/nicco/Desktop/ros_ws/devel/lib/ros_openpose/rosOpenposeAsync --model_folder /home/nicco/openpose/models/ --net_resolution -1x32 --model_pose COCO __name:=rosOpenpose __log:=/home/nicco/.ros/log/ccdfaedc-cfa5-11ec-9b59-9cfce8af62c0/rosOpenpose-1.log].
log file: /home/nicco/.ros/log/ccdfaedc-cfa5-11ec-9b59-9cfce8af62c0/rosOpenpose-1*.log
Initiating shutdown!
================================================================================
[echo-2] killing on exit
[rosOpenpose-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Any suggestion?

compile problem!

Hello ravijo,
hier I met problems by compiling ROS-wrapper for openpose in your project. Hier is what I met:

[ 86%] Linking CXX executable /home/jade/catkin_openpose/devel/lib/ros_openpose/rosOpenposeSync
[ 90%] Linking CXX executable /home/jade/catkin_openpose/devel/lib/ros_openpose/rosOpenposeAsync
/usr/bin/ld: warning: libopencv_imgcodecs.so.3.2, needed by /opt/ros/melodic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.405
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘configureOpenPose(op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >&, std::shared_ptr<ros_openpose::CameraReader> const&, ros::Publisher const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)’中:
rosOpenposeAsync.cpp:(.text+0x29f):对‘op::ConfigureLog::setPriorityThreshold(op::Priority)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x2af):对‘op::Profiler::setDefaultX(unsigned long long)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x2c5):对‘op::String::String(char const*)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x2de):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x2fe):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x332):对‘op::String::String(char const*)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x34b):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x36b):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x39f):对‘op::String::String(char const*)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x3b8):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x3d8):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x40c):对‘op::String::String(char const*)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x425):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x445):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x470):对‘op::flagsToPoseMode(int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x48f):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x49e):对‘op::flagsToPoseModel(op::String const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x5ec):对‘op::flagsToScaleMode(int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x61f):对‘op::flagsToHeatMaps(bool, bool, bool)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x62c):对‘op::flagsToHeatMapScaleMode(int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x646):对‘op::flagsToDetector(int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x659):对‘op::flagsToDetector(int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x6ed):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::setWorker(op::WorkerType, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > const&, bool)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x73c):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::setWorker(op::WorkerType, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > const&, bool)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x78f):对‘op::flagsToRenderMode(int, bool, int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x7eb):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x84f):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x868):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x924):对‘op::WrapperStructPose::WrapperStructPose(op::PoseMode, op::Point<int> const&, op::Point<int> const&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, op::String const&, std::vector<op::HeatMapType, std::allocator<op::HeatMapType> > const&, op::ScaleMode, bool, float, int, bool, double, op::String const&, op::String const&, float, bool)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x96e):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructPose const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x990):对‘op::flagsToRenderMode(int, bool, int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x9de):对‘op::WrapperStructFace::WrapperStructFace(bool, op::Detector, op::Point<int> const&, op::RenderMode, float, float, float)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x9f7):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructFace const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xa34):对‘op::flagsToRenderMode(int, bool, int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xa8a):对‘op::WrapperStructHand::WrapperStructHand(bool, op::Detector, op::Point<int> const&, int, float, op::RenderMode, float, float, float)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xaa3):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructHand const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xadf):对‘op::WrapperStructExtra::WrapperStructExtra(bool, int, bool, int, int)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xaf8):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructExtra const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xb18):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xb27):对‘op::stringToDataFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xb43):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xb5c):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xb83):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xb9c):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xbb5):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:rosOpenposeAsync.cpp:(.text+0xbe9): 跟着更多未定义的参考到 op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘configureOpenPose(op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >&, std::shared_ptr<ros_openpose::CameraReader> const&, ros::Publisher const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)’中:
rosOpenposeAsync.cpp:(.text+0xd1a):对‘op::WrapperStructOutput::WrapperStructOutput(double, op::String const&, op::DataFormat, op::String const&, op::String const&, int, int, op::String const&, op::String const&, op::String const&, double, bool, op::String const&, op::String const&, op::String const&, op::String const&, op::String const&, op::String const&, op::String const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xdfa):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructOutput const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xe13):对‘op::flagsToDisplayMode(int, bool)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xe3b):对‘op::WrapperStructGui::WrapperStructGui(op::DisplayMode, bool, bool)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xe54):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructGui const&)’未定义的引用
rosOpenposeAsync.cpp:(.text+0xe6e):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::disableMultiThreading()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘main’中:
rosOpenposeAsync.cpp:(.text+0x1b31):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::WrapperT(op::ThreadManagerMode)’未定义的引用
rosOpenposeAsync.cpp:(.text+0x1b71):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::start()’未定义的引用
rosOpenposeAsync.cpp:(.text+0x1ca0):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::stop()’未定义的引用
rosOpenposeAsync.cpp:(.text+0x1cb4):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::~WrapperT()’未定义的引用
rosOpenposeAsync.cpp:(.text+0x1f5b):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::~WrapperT()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘void WUserOutput::fillBodyROSMsg<op::Array<float> const>(op::Array<float> const&, int, int) [clone ._omp_fn.0]’中:
rosOpenposeAsync.cpp:(.text+0x6175):对‘op::Array<float>::getSize(int) const’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘void WUserOutput::fillHandROSMsg<std::array<op::Array<float>, 2ul> const>(std::array<op::Array<float>, 2ul> const&, int, int) [clone ._omp_fn.1]’中:
rosOpenposeAsync.cpp:(.text+0x6440):对‘op::Array<float>::getSize(int) const’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘op::WorkerProducer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::WorkerProducer()’中:
rosOpenposeAsync.cpp:(.text._ZN2op14WorkerProducerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC2Ev[_ZN2op14WorkerProducerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC5Ev]+0x14):对‘op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::Worker()’未定义的引用
rosOpenposeAsync.cpp:(.text._ZN2op14WorkerProducerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC2Ev[_ZN2op14WorkerProducerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC5Ev]+0x1b):对‘vtable for op::WorkerProducer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘WUserInput::workProducer()’中:
rosOpenposeAsync.cpp:(.text._ZN10WUserInput12workProducerEv[_ZN10WUserInput12workProducerEv]+0x2f9):对‘op::Matrix::Matrix(void const*)’未定义的引用
rosOpenposeAsync.cpp:(.text._ZN10WUserInput12workProducerEv[_ZN10WUserInput12workProducerEv]+0x58d):对‘op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::stop()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘op::WorkerConsumer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::WorkerConsumer()’中:
rosOpenposeAsync.cpp:(.text._ZN2op14WorkerConsumerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC2Ev[_ZN2op14WorkerConsumerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC5Ev]+0x14):对‘op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::Worker()’未定义的引用
rosOpenposeAsync.cpp:(.text._ZN2op14WorkerConsumerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC2Ev[_ZN2op14WorkerConsumerISt10shared_ptrISt6vectorIS1_INS_5DatumEESaIS4_EEEEC5Ev]+0x1b):对‘vtable for op::WorkerConsumer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘WUserOutput::WUserOutput(ros::Publisher const&, std::shared_ptr<ros_openpose::CameraReader> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)’中:
rosOpenposeAsync.cpp:(.text._ZN11WUserOutputC2ERKN3ros9PublisherERKSt10shared_ptrIN12ros_openpose12CameraReaderEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb[_ZN11WUserOutputC5ERKN3ros9PublisherERKSt10shared_ptrIN12ros_openpose12CameraReaderEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb]+0xe0):对‘op::WorkerConsumer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::~WorkerConsumer()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘WUserOutput::workConsumer(std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > const&)’中:
rosOpenposeAsync.cpp:(.text._ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE[_ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE]+0x119):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeAsync.cpp:(.text._ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE[_ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE]+0x12d):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeAsync.cpp:(.text._ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE[_ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE]+0x14e):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeAsync.cpp:(.text._ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE[_ZN11WUserOutput12workConsumerERKSt10shared_ptrISt6vectorIS0_IN2op5DatumEESaIS4_EEE]+0x459):对‘op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::stop()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘void op::checkBool<char [27]>(bool, char const (&) [27], int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’中:
rosOpenposeAsync.cpp:(.text._ZN2op9checkBoolIA27_cEEvbRKT_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESC_[_ZN2op9checkBoolIA27_cEEvbRKT_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESC_]+0x78):对‘op::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘op::Array<float>::at(int) const’中:
rosOpenposeAsync.cpp:(.text._ZNK2op5ArrayIfE2atEi[_ZNK2op5ArrayIfE2atEi]+0x1c):对‘op::Array<float>::commonAt(int) const’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘void __gnu_cxx::new_allocator<op::Datum>::construct<op::Datum>(op::Datum*)’中:
rosOpenposeAsync.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN2op5DatumEE9constructIS2_JEEEvPT_DpOT0_[_ZN9__gnu_cxx13new_allocatorIN2op5DatumEE9constructIS2_JEEEvPT_DpOT0_]+0x32):对‘op::Datum::Datum()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:(.data.rel.ro._ZTV11WUserOutput[_ZTV11WUserOutput]+0x20):对‘op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::tryStop()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:(.data.rel.ro._ZTV11WUserOutput[_ZTV11WUserOutput]+0x30):对‘op::WorkerConsumer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::work(std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >&)’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘WUserOutput::~WUserOutput()’中:
rosOpenposeAsync.cpp:(.text._ZN11WUserOutputD2Ev[_ZN11WUserOutputD5Ev]+0x52):对‘op::WorkerConsumer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::~WorkerConsumer()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:(.data.rel.ro._ZTV10WUserInput[_ZTV10WUserInput]+0x20):对‘op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::tryStop()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:(.data.rel.ro._ZTV10WUserInput[_ZTV10WUserInput]+0x30):对‘op::WorkerProducer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::work(std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >&)’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:在函数‘WUserInput::~WUserInput()’中:
rosOpenposeAsync.cpp:(.text._ZN10WUserInputD2Ev[_ZN10WUserInputD5Ev]+0x32):对‘op::WorkerProducer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >::~WorkerProducer()’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:(.data.rel.ro._ZTI11WUserOutput[_ZTI11WUserOutput]+0x10):对‘typeinfo for op::WorkerConsumer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >’未定义的引用
CMakeFiles/rosOpenposeAsync.dir/src/rosOpenposeAsync.cpp.o:(.data.rel.ro._ZTI10WUserInput[_ZTI10WUserInput]+0x10):对‘typeinfo for op::WorkerProducer<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > >’未定义的引用
collect2: error: ld returned 1 exit status
ros_openpose/CMakeFiles/rosOpenposeAsync.dir/build.make:211: recipe for target '/home/jade/catkin_openpose/devel/lib/ros_openpose/rosOpenposeAsync' failed
make[2]: *** [/home/jade/catkin_openpose/devel/lib/ros_openpose/rosOpenposeAsync] Error 1
CMakeFiles/Makefile2:1501: recipe for target 'ros_openpose/CMakeFiles/rosOpenposeAsync.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenposeAsync.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
/usr/bin/ld: warning: libopencv_imgcodecs.so.3.2, needed by /opt/ros/melodic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.405
/usr/bin/ld: warning: libopencv_core.so.3.2, needed by /opt/ros/melodic/lib/libcv_bridge.so, may conflict with libopencv_core.so.405
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:在函数‘configureOpenPose(op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >&)’中:
rosOpenposeSync.cpp:(.text+0x1a8):对‘op::ConfigureLog::setPriorityThreshold(op::Priority)’未定义的引用
rosOpenposeSync.cpp:(.text+0x1b8):对‘op::Profiler::setDefaultX(unsigned long long)’未定义的引用
rosOpenposeSync.cpp:(.text+0x1ce):对‘op::String::String(char const*)’未定义的引用
rosOpenposeSync.cpp:(.text+0x1e7):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x207):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x23b):对‘op::String::String(char const*)’未定义的引用
rosOpenposeSync.cpp:(.text+0x254):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x274):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x2a8):对‘op::String::String(char const*)’未定义的引用
rosOpenposeSync.cpp:(.text+0x2c1):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x2e1):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x315):对‘op::String::String(char const*)’未定义的引用
rosOpenposeSync.cpp:(.text+0x32e):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x34e):对‘op::flagsToPoint(op::String const&, op::String const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x379):对‘op::flagsToPoseMode(int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x398):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x3a7):对‘op::flagsToPoseModel(op::String const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x4f5):对‘op::flagsToScaleMode(int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x528):对‘op::flagsToHeatMaps(bool, bool, bool)’未定义的引用
rosOpenposeSync.cpp:(.text+0x535):对‘op::flagsToHeatMapScaleMode(int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x54f):对‘op::flagsToDetector(int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x562):对‘op::flagsToDetector(int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x5b3):对‘op::flagsToRenderMode(int, bool, int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x60f):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x673):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x68c):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x748):对‘op::WrapperStructPose::WrapperStructPose(op::PoseMode, op::Point<int> const&, op::Point<int> const&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, op::String const&, std::vector<op::HeatMapType, std::allocator<op::HeatMapType> > const&, op::ScaleMode, bool, float, int, bool, double, op::String const&, op::String const&, float, bool)’未定义的引用
rosOpenposeSync.cpp:(.text+0x792):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructPose const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x7b4):对‘op::flagsToRenderMode(int, bool, int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x802):对‘op::WrapperStructFace::WrapperStructFace(bool, op::Detector, op::Point<int> const&, op::RenderMode, float, float, float)’未定义的引用
rosOpenposeSync.cpp:(.text+0x81b):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructFace const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x858):对‘op::flagsToRenderMode(int, bool, int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x8ae):对‘op::WrapperStructHand::WrapperStructHand(bool, op::Detector, op::Point<int> const&, int, float, op::RenderMode, float, float, float)’未定义的引用
rosOpenposeSync.cpp:(.text+0x8c7):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructHand const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x903):对‘op::WrapperStructExtra::WrapperStructExtra(bool, int, bool, int, int)’未定义的引用
rosOpenposeSync.cpp:(.text+0x91c):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructExtra const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x93c):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x94b):对‘op::stringToDataFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x967):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x980):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x9a7):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x9c0):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0x9d9):对‘op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:rosOpenposeSync.cpp:(.text+0xa0d): 跟着更多未定义的参考到 op::String::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:在函数‘configureOpenPose(op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >&)’中:
rosOpenposeSync.cpp:(.text+0xb3e):对‘op::WrapperStructOutput::WrapperStructOutput(double, op::String const&, op::DataFormat, op::String const&, op::String const&, int, int, op::String const&, op::String const&, op::String const&, double, bool, op::String const&, op::String const&, op::String const&, op::String const&, op::String const&, op::String const&, op::String const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0xc1e):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructOutput const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0xc37):对‘op::flagsToDisplayMode(int, bool)’未定义的引用
rosOpenposeSync.cpp:(.text+0xc5f):对‘op::WrapperStructGui::WrapperStructGui(op::DisplayMode, bool, bool)’未定义的引用
rosOpenposeSync.cpp:(.text+0xc78):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::configure(op::WrapperStructGui const&)’未定义的引用
rosOpenposeSync.cpp:(.text+0xc92):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::disableMultiThreading()’未定义的引用
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:在函数‘main’中:
rosOpenposeSync.cpp:(.text+0x1743):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::WrapperT(op::ThreadManagerMode)’未定义的引用
rosOpenposeSync.cpp:(.text+0x1761):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::start()’未定义的引用
rosOpenposeSync.cpp:(.text+0x18e2):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::stop()’未定义的引用
rosOpenposeSync.cpp:(.text+0x1905):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::~WrapperT()’未定义的引用
rosOpenposeSync.cpp:(.text+0x1b7a):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::~WrapperT()’未定义的引用
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:在函数‘rosOpenPose::callback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)’中:
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x11d):对‘op::Matrix::Matrix(void const*)’未定义的引用
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x130):对‘op::WrapperT<op::Datum, std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >, std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > >, std::shared_ptr<op::Worker<std::shared_ptr<std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > > > > > >::emplaceAndPop(op::Matrix const&)’未定义的引用
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x1a3):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x1b7):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x1d8):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x2be):对‘op::Array<float>::getSize(int) const’未定义的引用
rosOpenposeSync.cpp:(.text._ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_[_ZN11rosOpenPose8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_]+0x32f):对‘op::Array<float>::getSize(int) const’未定义的引用
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:在函数‘void op::checkBool<char [27]>(bool, char const (&) [27], int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’中:
rosOpenposeSync.cpp:(.text._ZN2op9checkBoolIA27_cEEvbRKT_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESC_[_ZN2op9checkBoolIA27_cEEvbRKT_iRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESC_]+0x78):对‘op::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/rosOpenposeSync.dir/src/rosOpenposeSync.cpp.o:在函数‘op::Array<float>::at(int) const’中:
rosOpenposeSync.cpp:(.text._ZNK2op5ArrayIfE2atEi[_ZNK2op5ArrayIfE2atEi]+0x1c):对‘op::Array<float>::commonAt(int) const’未定义的引用
collect2: error: ld returned 1 exit status
ros_openpose/CMakeFiles/rosOpenposeSync.dir/build.make:195: recipe for target '/home/jade/catkin_openpose/devel/lib/ros_openpose/rosOpenposeSync' failed
make[2]: *** [/home/jade/catkin_openpose/devel/lib/ros_openpose/rosOpenposeSync] Error 1
CMakeFiles/Makefile2:1527: recipe for target 'ros_openpose/CMakeFiles/rosOpenposeSync.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenposeSync.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

I don't know if it's because I didn't install Openpose with the choice "with OpenCV with OpenGL"

thank you for the help

the chinese charactors above means "no matching to"

No Bone Visualization in RViz with 2D camera

Problem:
When I open RViz, I cannot find any visualizations by topic that display the skeleton in the viewer.

Launch Procedure:

$roscore
$rosparam set cv_camera/device_id 2
$rosrun cv_camera cv_camera_node
$roslaunch ros_openpose run.launch
$rviz

Listed Topics while Running:

/clicked_point
/cv_camera/camera_info
/cv_camera/image_raw
/cv_camera/image_raw/compressed
/cv_camera/image_raw/compressed/parameter_descriptions
/cv_camera/image_raw/compressed/parameter_updates
/cv_camera/image_raw/compressedDepth
/cv_camera/image_raw/compressedDepth/parameter_descriptions
/cv_camera/image_raw/compressedDepth/parameter_updates
/cv_camera/image_raw/theora
/cv_camera/image_raw/theora/parameter_descriptions
/cv_camera/image_raw/theora/parameter_updates
/frame
/initialpose
/move_base_simple/goal
/rosOpenpose/cam_info_topic
/rosOpenpose/depth_topic
/rosout
/rosout_agg
/tf
/tf_static

It should be noted that none of the /rosOpenpose/... topics are visible in RViz at all even with the non-displayable topics selection checked.

Lastly, I am very new to ROS as a whole and so I feel like there may just be a step to running all of this that I am missing due to a gap in my knowledge. Thank you for your time.

run.launch error occurr

roslaunch ros_openpose run.launch
... logging to /home/peanut/.ros/log/1e6eeb3a-5c8b-11eb-99ad-48b02d2f863c/roslaunch-peanut-desktop-9587.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://peanut-desktop:34859/

SUMMARY
========

PARAMETERS
 * /camera/realsense2_camera/accel_fps: 250
 * /camera/realsense2_camera/accel_frame_id: camera_accel_frame
 * /camera/realsense2_camera/accel_optical_frame_id: camera_accel_opti...
 * /camera/realsense2_camera/align_depth: True
 * /camera/realsense2_camera/aligned_depth_to_color_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/allow_no_texture_points: False
 * /camera/realsense2_camera/base_frame_id: camera_link
 * /camera/realsense2_camera/calib_odom_file: 
 * /camera/realsense2_camera/clip_distance: -2.0
 * /camera/realsense2_camera/color_fps: 30
 * /camera/realsense2_camera/color_frame_id: camera_color_frame
 * /camera/realsense2_camera/color_height: 480
 * /camera/realsense2_camera/color_optical_frame_id: camera_color_opti...
 * /camera/realsense2_camera/color_width: 640
 * /camera/realsense2_camera/confidence_fps: 30
 * /camera/realsense2_camera/confidence_height: 480
 * /camera/realsense2_camera/confidence_width: 640
 * /camera/realsense2_camera/depth_fps: 30
 * /camera/realsense2_camera/depth_frame_id: camera_depth_frame
 * /camera/realsense2_camera/depth_height: 480
 * /camera/realsense2_camera/depth_optical_frame_id: camera_depth_opti...
 * /camera/realsense2_camera/depth_width: 640
 * /camera/realsense2_camera/device_type: 
 * /camera/realsense2_camera/enable_accel: False
 * /camera/realsense2_camera/enable_color: True
 * /camera/realsense2_camera/enable_confidence: True
 * /camera/realsense2_camera/enable_depth: True
 * /camera/realsense2_camera/enable_fisheye1: False
 * /camera/realsense2_camera/enable_fisheye2: False
 * /camera/realsense2_camera/enable_fisheye: False
 * /camera/realsense2_camera/enable_gyro: False
 * /camera/realsense2_camera/enable_infra1: False
 * /camera/realsense2_camera/enable_infra2: False
 * /camera/realsense2_camera/enable_infra: False
 * /camera/realsense2_camera/enable_pointcloud: False
 * /camera/realsense2_camera/enable_pose: False
 * /camera/realsense2_camera/enable_sync: False
 * /camera/realsense2_camera/filters: pointcloud
 * /camera/realsense2_camera/fisheye1_frame_id: camera_fisheye1_f...
 * /camera/realsense2_camera/fisheye1_optical_frame_id: camera_fisheye1_o...
 * /camera/realsense2_camera/fisheye2_frame_id: camera_fisheye2_f...
 * /camera/realsense2_camera/fisheye2_optical_frame_id: camera_fisheye2_o...
 * /camera/realsense2_camera/fisheye_fps: 30
 * /camera/realsense2_camera/fisheye_frame_id: camera_fisheye_frame
 * /camera/realsense2_camera/fisheye_height: 480
 * /camera/realsense2_camera/fisheye_optical_frame_id: camera_fisheye_op...
 * /camera/realsense2_camera/fisheye_width: 640
 * /camera/realsense2_camera/gyro_fps: 400
 * /camera/realsense2_camera/gyro_frame_id: camera_gyro_frame
 * /camera/realsense2_camera/gyro_optical_frame_id: camera_gyro_optic...
 * /camera/realsense2_camera/imu_optical_frame_id: camera_imu_optica...
 * /camera/realsense2_camera/infra1_frame_id: camera_infra1_frame
 * /camera/realsense2_camera/infra1_optical_frame_id: camera_infra1_opt...
 * /camera/realsense2_camera/infra2_frame_id: camera_infra2_frame
 * /camera/realsense2_camera/infra2_optical_frame_id: camera_infra2_opt...
 * /camera/realsense2_camera/infra_fps: 30
 * /camera/realsense2_camera/infra_height: 480
 * /camera/realsense2_camera/infra_rgb: False
 * /camera/realsense2_camera/infra_width: 640
 * /camera/realsense2_camera/initial_reset: False
 * /camera/realsense2_camera/json_file_path: 
 * /camera/realsense2_camera/linear_accel_cov: 0.01
 * /camera/realsense2_camera/odom_frame_id: camera_odom_frame
 * /camera/realsense2_camera/pointcloud_texture_index: 0
 * /camera/realsense2_camera/pointcloud_texture_stream: RS2_STREAM_COLOR
 * /camera/realsense2_camera/pose_frame_id: camera_pose_frame
 * /camera/realsense2_camera/pose_optical_frame_id: camera_pose_optic...
 * /camera/realsense2_camera/publish_odom_tf: True
 * /camera/realsense2_camera/publish_tf: True
 * /camera/realsense2_camera/rosbag_filename: 
 * /camera/realsense2_camera/serial_no: 
 * /camera/realsense2_camera/tf_publish_rate: 0.0
 * /camera/realsense2_camera/topic_odom_in: odom_in
 * /camera/realsense2_camera/unite_imu_method: 
 * /camera/realsense2_camera/usb_port_id: 
 * /echo/pub_topic: /frame
 * /rosOpenpose/cam_info_topic: /camera/color/cam...
 * /rosOpenpose/color_topic: /camera/color/ima...
 * /rosOpenpose/depth_topic: /camera/aligned_d...
 * /rosOpenpose/frame_id: camera_depth_opti...
 * /rosOpenpose/no_depth: False
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: melodic
 * /rosversion: 1.14.10
 * /visualizer/frame_id: camera_depth_opti...
 * /visualizer/id_text_offset: -0.05
 * /visualizer/id_text_size: 0.2
 * /visualizer/pub_topic: /frame
 * /visualizer/skeleton_hands: False
 * /visualizer/skeleton_line_width: 0.01

NODES
  /
    echo (ros_openpose/echo.py)
    rosOpenpose (ros_openpose/rosOpenpose)
    rviz (rviz/rviz)
    visualizer (ros_openpose/visualizer.py)
  /camera/
    realsense2_camera (nodelet/nodelet)
    realsense2_camera_manager (nodelet/nodelet)

ROS_MASTER_URI=http://localhost:11311

process[rosOpenpose-1]: started with pid [9602]
/home/peanut/catkin_ws/devel/lib/ros_openpose/rosOpenpose: error while loading shared libraries: libcaffe.so.1.0.0: cannot open shared object file: No such file or directory
process[visualizer-2]: started with pid [9603]
================================================================================
REQUIRED process [rosOpenpose-1] has died!
process has died [pid 9602, exit code 127, cmd /home/peanut/catkin_ws/devel/lib/ros_openpose/rosOpenpose --net_resolution 128x96 --model_folder /home/peanut/openpose/models/ __name:=rosOpenpose __log:=/home/peanut/.ros/log/1e6eeb3a-5c8b-11eb-99ad-48b02d2f863c/rosOpenpose-1.log].
log file: /home/peanut/.ros/log/1e6eeb3a-5c8b-11eb-99ad-48b02d2f863c/rosOpenpose-1*.log
Initiating shutdown!
================================================================================
process[echo-3]: started with pid [9604]
RLException: cannot add process [camera/realsense2_camera_manager-4] after process monitor has been shut down
The traceback for the exception was written to the log file
[echo-3] killing on exit
[visualizer-2] killing on exit
[rosOpenpose-1] killing on exit
Traceback (most recent call last):
  File "/home/peanut/catkin_ws/src/ros_openpose/scripts/echo.py", line 9, in <module>
    import rospy
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py", line 47, in <module>
    from std_msgs.msg import Header
  File "/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/__init__.py", line 1, in <module>
    from ._Bool import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Bool.py", line 6, in <module>
    import genpy
  File "/opt/ros/melodic/lib/python2.7/dist-packages/genpy/__init__.py", line 34, in <module>
    from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
  File "/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py", line 48, in <module>
    import yaml
  File "/usr/lib/python2.7/dist-packages/yaml/__init__.py", line 8, in <module>
    from loader import *
  File "/usr/lib/python2.7/dist-packages/yaml/loader.py", line 4, in <module>
    from reader import *
  File "/usr/lib/python2.7/dist-packages/yaml/reader.py", line 47, in <module>
    class Reader(object):
  File "/usr/lib/python2.7/dist-packages/yaml/reader.py", line 140, in Reader
    NON_PRINTABLE = re.compile(u'[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD\U00010000-\U0010ffff]')
  File "/usr/lib/python2.7/re.py", line 194, in compile
    return _compile(pattern, flags)
  File "/usr/lib/python2.7/re.py", line 249, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib/python2.7/sre_compile.py", line 576, in compile
    code = _code(p, flags)
  File "/usr/lib/python2.7/sre_compile.py", line 558, in _code
    _compile_info(code, p, flags)
  File "/usr/lib/python2.7/sre_compile.py", line 536, in _compile_info
    _compile_charset(charset, flags, code)
  File "/usr/lib/python2.7/sre_compile.py", line 232, in _compile_charset
    flags & SRE_FLAG_UNICODE):
  File "/usr/lib/python2.7/sre_compile.py", line 284, in _optimize_charset
    for i in r:
KeyboardInterrupt
Traceback (most recent call last):
  File "/home/peanut/catkin_ws/src/ros_openpose/scripts/visualizer.py", line 10, in <module>
    import rospy
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py", line 47, in <module>
    from std_msgs.msg import Header
  File "/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/__init__.py", line 1, in <module>
    from ._Bool import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/std_msgs/msg/_Bool.py", line 6, in <module>
    import genpy
  File "/opt/ros/melodic/lib/python2.7/dist-packages/genpy/__init__.py", line 34, in <module>
    from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
  File "/opt/ros/melodic/lib/python2.7/dist-packages/genpy/message.py", line 48, in <module>
    import yaml
  File "/usr/lib/python2.7/dist-packages/yaml/__init__.py", line 8, in <module>
    from loader import *
  File "/usr/lib/python2.7/dist-packages/yaml/loader.py", line 4, in <module>
    from reader import *
  File "/usr/lib/python2.7/dist-packages/yaml/reader.py", line 47, in <module>
    class Reader(object):
  File "/usr/lib/python2.7/dist-packages/yaml/reader.py", line 140, in Reader
    NON_PRINTABLE = re.compile(u'[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD\U00010000-\U0010ffff]')
  File "/usr/lib/python2.7/re.py", line 194, in compile
    return _compile(pattern, flags)
  File "/usr/lib/python2.7/re.py", line 249, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib/python2.7/sre_compile.py", line 576, in compile
    code = _code(p, flags)
  File "/usr/lib/python2.7/sre_compile.py", line 558, in _code
    _compile_info(code, p, flags)
  File "/usr/lib/python2.7/sre_compile.py", line 536, in _compile_info
    _compile_charset(charset, flags, code)
  File "/usr/lib/python2.7/sre_compile.py", line 232, in _compile_charset
    flags & SRE_FLAG_UNICODE):
  File "/usr/lib/python2.7/sre_compile.py", line 274, in _optimize_charset
    r = range(av[0], av[1]+1)
KeyboardInterrupt

OpenPose 1.7.0

Hello again dear Ravijo,
Screenshot from 2021-02-24 17-35-13

sacit@sacit-N550JK:~/catkin_ws$ source devel/setup.bash 
sacit@sacit-N550JK:~/catkin_ws$ roslaunch ros_openpose run.launch camera:=nodepth
... logging to /home/sacit/.ros/log/18ec5e7a-76be-11eb-bb0f-8019347b1b23/roslaunch-sacit-N550JK-23959.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://sacit-N550JK:36235/

SUMMARY
========

PARAMETERS
 * /echo/pub_topic: /frame
 * /rosOpenpose/cam_info_topic: cam_info_topic
 * /rosOpenpose/color_topic: /image_view/output
 * /rosOpenpose/depth_topic: depth_topic
 * /rosOpenpose/frame_id: no_depth
 * /rosOpenpose/no_depth: True
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: melodic
 * /rosversion: 1.14.10

NODES
  /
    echo (ros_openpose/echo.py)
    rosOpenpose (ros_openpose/rosOpenpose)

auto-starting new master
process[master]: started with pid [23970]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 18ec5e7a-76be-11eb-bb0f-8019347b1b23
process[rosout-1]: started with pid [23982]
started core service [/rosout]
process[rosOpenpose-2]: started with pid [23985]
process[echo-3]: started with pid [23990]
[ INFO] [1614184441.773653131]: Starting ros_openpose...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
[ WARN] [1614184441.823631514]: Waiting for color image frame...
[ WARN] [1614184441.823919102]: Waiting for datum...

Normally i can reach to OpenPose and it works but when i'm trying to connect by roslaunch i have a problem like this.
Can you help me please? Thank you very much again.

Ros Node Dies after few seconds - ZED2 camera

Hi @ravijo ,
I am currently using ros_openpose with zed2 camera.
I had tested it couple of days back where everything seemed to work fine.
But unfortunately I am running into issues now with regards to the ros node.

After I launch the ros file roslaunch ros_openpose run.launch camera:=zed2,

The camera connection is successful but after few seconds I get the following msg:
EQUIRED process [rosOpenpose-2] has died! process has died [pid 21215, exit code -11, cmd /home/lams/catkin_ws/devel/lib/ros_openpose/rosOpenpose --model_folder /home/lams/openpose/models/ --net_resolution -256x96 __name:=rosOpenpose __log:=/home/lams/.ros/log/178878be-023a-11eb-8de0-d8c0a6261973/rosOpenpose-2.log]. log file: /home/lams/.ros/log/178878be-023a-11eb-8de0-d8c0a6261973/rosOpenpose-2*.log Initiating shutdown!
I cannot not figure out why this error is occurring. Openpose works fine with the camera which i tested again.

I am attaching the log files for your reference. Kindly let me know if you can help me fix this issue.

Thanks
echo-4.log
master.log
roslaunch-lams-desktop-21169.log
rosout.log
rosout-1-stdout.log
visualizer-3.log

Thank you for looking into this.

Thank you for looking into this.

I'm running on Ubuntu 18.04 with ROS Melodic and CMake 3.17.1.
Without

find_package(Threads REQUIRED)

building fails with the error message

/usr/bin/ld: cannot find -lThreads::Threads

I'm not sure when this line is needed or not.

Originally posted by @kledom in #11 (comment)

Expected FPS from ROS Openpose

Hi,
I am sorry if this question has been answered, however, I am trying to gauge what performance I should be seeing from the following config:

  • i7-7700K
  • Ubuntu 18.04
  • Cuda 11.3
  • Geforce GTX Titan X
    I get about 5 fps according to the openpose gui that pops up.0

Prior to the titan (which I installed today) I was using a 1060 6gb and I was getting 3 fps. Does it make sense for there to be such a small performance difference?

Thank you for your help!

Errors running synchronous API

Continuation of #31

Original problem:

[ERROR] [1617024825.486954]: OpenPose library could not be found. Did you enable `BUILD_PYTHON` in CMake and have this Python script in the right folder?
ImportError: cannot import name pyopenpose

Solved this issue by making sure I was building using similar Python versions (I have both 2.7 and 3.6 on my computer). Probably not the most kosher method, but CMake was still picking up remnants of a 3.7 install, so I had to manually modify values in build/CMakeCache.txt to change Python version to 2.7).

I did a lot of other things in between so I'm not sure if those helped too.

Once that built properly and I could import pyopenpose properly, ran into the next problem:

  File "/home/cwong/src_UdeS/catkin_ws/src/ros_openpose/scripts/ros_openpose_synchronous.py", line 104, in callback
    self.op_wrapper.emplaceAndPop([datum])
TypeError: emplaceAndPop(): incompatible function arguments. The following argument types are supported:
    1. (self: openpose.pyopenpose.WrapperPython, arg0: std::vector<std::shared_ptr<op::Datum>, std::allocator<std::shared_ptr<op::Datum> > >) -> bool

Invoked with: <openpose.pyopenpose.WrapperPython object at 0x7fac4ffe2e30>, [<openpose.pyopenpose.Datum object at 0x7fac4ff475b0>]

Did you forget to `#include <pybind11/stl.h>`? Or <pybind11/complex.h>, <pybind11/functional.h>, <pybind11/chrono.h>, etc. Some automatic conversions are optional and require extra headers to be included when compiling your pybind11 module.

Solved it via CMU-Perceptual-Computing-Lab/openpose#1718 by editing Line 104 in ros_openpose_synchronous.py from self.op_wrapper.emplaceAndPop([datum]) to self.op_wrapper.emplaceAndPop(op.VectorDatum([datum]))

Current problem:

  File "/home/cwong/src_UdeS/catkin_ws/src/ros_openpose/scripts/ros_openpose_synchronous.py", line 111, in callback
    if pose_kp.shape == ():
AttributeError: 'NoneType' object has no attribute 'shape'

I solved this by changing it to If pose_kp == None, but I don't know if this is a valid way to do it, or I'll run into problems later on? (The same error happens below with lhand_kp and rhand_kp, and can be bypassed the same way too.)

(Still haven't got it running, but they're Caffe-related errors)

Low VRAM Settings

Hello,

I know that I'm pushing my luck trying to run this on a laptop with a GTX 960M (2 GB), but I'm fairly limited in my hardware right now. The Openpose demo will run if I lower the net_resolution parameter down below -1x224. I've tried to run this with that parameter added to the openpose_args line in the launch file:

<arg name="openpose_args" value=" --model_folder /home/ubuntafoo/openpose/models/ --net_resolution -1x160 --model_pose BODY_25" />

I've even tried to lower it down to -1x16 and that didn't help, so I'm wondering if there is something within the system that locks the network resolution or if there is any way to lower the graphics memory needed that you know of.

Thanks for any help you can provide!

Here's my full error log

roslaunch ros_openpose run_realsense.launch
... logging to /home/ubuntafoo/.ros/log/d8509af4-42e6-11ea-9c31-441ca8e2c5e3/roslaunch-ubuntafoo-XPS-15-9550-2683.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubuntafoo-XPS-15-9550:35019/

SUMMARY
========

PARAMETERS
 * /camera/realsense2_camera/accel_fps: 250
 * /camera/realsense2_camera/accel_frame_id: camera_accel_frame
 * /camera/realsense2_camera/accel_optical_frame_id: camera_accel_opti...
 * /camera/realsense2_camera/align_depth: True
 * /camera/realsense2_camera/aligned_depth_to_color_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_fisheye_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra1_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/aligned_depth_to_infra2_frame_id: camera_aligned_de...
 * /camera/realsense2_camera/allow_no_texture_points: False
 * /camera/realsense2_camera/base_frame_id: camera_link
 * /camera/realsense2_camera/calib_odom_file: 
 * /camera/realsense2_camera/clip_distance: -2.0
 * /camera/realsense2_camera/color_fps: 30
 * /camera/realsense2_camera/color_frame_id: camera_color_frame
 * /camera/realsense2_camera/color_height: 480
 * /camera/realsense2_camera/color_optical_frame_id: camera_color_opti...
 * /camera/realsense2_camera/color_width: 640
 * /camera/realsense2_camera/depth_fps: 30
 * /camera/realsense2_camera/depth_frame_id: camera_depth_frame
 * /camera/realsense2_camera/depth_height: 480
 * /camera/realsense2_camera/depth_optical_frame_id: camera_depth_opti...
 * /camera/realsense2_camera/depth_width: 640
 * /camera/realsense2_camera/device_type: 
 * /camera/realsense2_camera/enable_accel: True
 * /camera/realsense2_camera/enable_color: True
 * /camera/realsense2_camera/enable_depth: True
 * /camera/realsense2_camera/enable_fisheye1: True
 * /camera/realsense2_camera/enable_fisheye2: True
 * /camera/realsense2_camera/enable_fisheye: True
 * /camera/realsense2_camera/enable_gyro: True
 * /camera/realsense2_camera/enable_infra1: True
 * /camera/realsense2_camera/enable_infra2: True
 * /camera/realsense2_camera/enable_pointcloud: False
 * /camera/realsense2_camera/enable_sync: False
 * /camera/realsense2_camera/filters: pointcloud
 * /camera/realsense2_camera/fisheye1_frame_id: camera_fisheye1_f...
 * /camera/realsense2_camera/fisheye1_optical_frame_id: camera_fisheye1_o...
 * /camera/realsense2_camera/fisheye2_frame_id: camera_fisheye2_f...
 * /camera/realsense2_camera/fisheye2_optical_frame_id: camera_fisheye2_o...
 * /camera/realsense2_camera/fisheye_fps: 30
 * /camera/realsense2_camera/fisheye_frame_id: camera_fisheye_frame
 * /camera/realsense2_camera/fisheye_height: 480
 * /camera/realsense2_camera/fisheye_optical_frame_id: camera_fisheye_op...
 * /camera/realsense2_camera/fisheye_width: 640
 * /camera/realsense2_camera/gyro_fps: 400
 * /camera/realsense2_camera/gyro_frame_id: camera_gyro_frame
 * /camera/realsense2_camera/gyro_optical_frame_id: camera_gyro_optic...
 * /camera/realsense2_camera/imu_optical_frame_id: camera_imu_optica...
 * /camera/realsense2_camera/infra1_frame_id: camera_infra1_frame
 * /camera/realsense2_camera/infra1_optical_frame_id: camera_infra1_opt...
 * /camera/realsense2_camera/infra2_frame_id: camera_infra2_frame
 * /camera/realsense2_camera/infra2_optical_frame_id: camera_infra2_opt...
 * /camera/realsense2_camera/infra_fps: 30
 * /camera/realsense2_camera/infra_height: 480
 * /camera/realsense2_camera/infra_width: 640
 * /camera/realsense2_camera/initial_reset: False
 * /camera/realsense2_camera/json_file_path: 
 * /camera/realsense2_camera/linear_accel_cov: 0.01
 * /camera/realsense2_camera/odom_frame_id: camera_odom_frame
 * /camera/realsense2_camera/pointcloud_texture_index: 0
 * /camera/realsense2_camera/pointcloud_texture_stream: RS2_STREAM_COLOR
 * /camera/realsense2_camera/pose_frame_id: camera_pose_frame
 * /camera/realsense2_camera/pose_optical_frame_id: camera_pose_optic...
 * /camera/realsense2_camera/publish_odom_tf: True
 * /camera/realsense2_camera/publish_tf: True
 * /camera/realsense2_camera/rosbag_filename: 
 * /camera/realsense2_camera/serial_no: 
 * /camera/realsense2_camera/tf_publish_rate: 0.0
 * /camera/realsense2_camera/topic_odom_in: odom_in
 * /camera/realsense2_camera/unite_imu_method: 
 * /camera/realsense2_camera/usb_port_id: 
 * /rosOpenpose/cam_info_topic: /camera/color/cam...
 * /rosOpenpose/color_topic: /camera/color/ima...
 * /rosOpenpose/depth_topic: /camera/aligned_d...
 * /rosOpenpose/frame_id: camera_depth_opti...
 * /rosOpenpose/openpose_model_dir: /home/ubuntafoo/o...
 * /rosOpenpose/pub_topic: /frame
 * /rosdistro: melodic
 * /rosversion: 1.14.3
 * /visualizer/frame_id: camera_depth_opti...
 * /visualizer/id_text_offset: -0.05
 * /visualizer/id_text_size: 0.2
 * /visualizer/pub_topic: /frame
 * /visualizer/skeleton_hands: True
 * /visualizer/skeleton_line_width: 0.01

NODES
  /camera/
    realsense2_camera (nodelet/nodelet)
    realsense2_camera_manager (nodelet/nodelet)
  /
    rosOpenpose (ros_openpose/rosOpenpose)
    rviz (rviz/rviz)
    visualizer (ros_openpose/visualizer.py)

auto-starting new master
process[master]: started with pid [2705]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to d8509af4-42e6-11ea-9c31-441ca8e2c5e3
process[rosout-1]: started with pid [2716]
started core service [/rosout]
process[rosOpenpose-2]: started with pid [2719]
process[visualizer-3]: started with pid [2720]
process[camera/realsense2_camera_manager-4]: started with pid [2725]
process[camera/realsense2_camera-5]: started with pid [2726]
process[rviz-6]: started with pid [2727]
[ INFO] [1580336983.675725044]: Initializing nodelet with 4 worker threads.
[ INFO] [1580336984.001942148]: Starting ros_openpose...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
[ WARN] [1580336984.029283933]: Empty color image frame detected. Ignoring...
[ INFO] [1580336984.148588650]: RealSense ROS v2.2.12
[ INFO] [1580336984.148627475]: Running with LibRealSense v2.32.1
[ INFO] [1580336984.158136633]:  
[ INFO] [1580336984.163999724]: Device with serial number 827312072596 was found.

[ INFO] [1580336984.164057985]: Device with physical ID /sys/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/video4linux/video0 was found.
[ INFO] [1580336984.164082199]: Device with name Intel RealSense D435 was found.
[ INFO] [1580336984.166126310]: Device with port number 2-1 was found.
[ INFO] [1580336984.170358664]: getParameters...
[ INFO] [1580336984.211244635]: setupDevice...
[ INFO] [1580336984.211288742]: JSON file is not provided
[ INFO] [1580336984.211310488]: ROS Node Namespace: camera
[ INFO] [1580336984.211332847]: Device Name: Intel RealSense D435
[ INFO] [1580336984.211372704]: Device Serial No: 827312072596
[ INFO] [1580336984.211411614]: Device physical port: /sys/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/video4linux/video0
[ INFO] [1580336984.211456552]: Device FW version: 05.12.02.100
[ INFO] [1580336984.211488818]: Device Product ID: 0x0B07
[ INFO] [1580336984.211520449]: Enable PointCloud: On
[ INFO] [1580336984.211551207]: Align Depth: On
[ INFO] [1580336984.211641564]: Sync Mode: On
[ INFO] [1580336984.211961209]: Device Sensors: 
[ INFO] [1580336984.212180477]: Stereo Module was found.
[ INFO] [1580336984.212244526]: RGB Camera was found.
[ INFO] [1580336984.212296793]: (Fisheye, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1580336984.212324887]: (Fisheye, 1) sensor isn't supported by current device! -- Skipping...
[ INFO] [1580336984.212337963]: (Fisheye, 2) sensor isn't supported by current device! -- Skipping...
[ INFO] [1580336984.212349931]: (Gyro, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1580336984.212373233]: (Accel, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1580336984.212389229]: (Pose, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1580336984.212560628]: Add Filter: pointcloud
[ INFO] [1580336984.213314725]: num_filters: 1
[ INFO] [1580336984.213336833]: Setting Dynamic reconfig parameters.
[ INFO] [1580336984.257288313]: Done Setting Dynamic reconfig parameters.
[ INFO] [1580336984.291319657]: depth stream is enabled - width: 640, height: 480, fps: 30, Format: Z16
[ INFO] [1580336984.291645147]: infra1 stream is enabled - width: 640, height: 480, fps: 30, Format: Y8
[ INFO] [1580336984.291880201]: infra2 stream is enabled - width: 640, height: 480, fps: 30, Format: Y8
 29/01 17:29:44,292 WARNING [140157112588032] (backend-v4l2.cpp:1208) Pixel format 36315752-1a66-a242-9065-d01814a likely requires patch for fourcc code RW16!
[ INFO] [1580336984.297269887]: color stream is enabled - width: 640, height: 480, fps: 30, Format: RGB8
[ INFO] [1580336984.299858645]: setupPublishers...
[ INFO] [1580336984.303243485]: Expected frequency for depth = 30.00000
[ INFO] [1580336984.337815966]: Expected frequency for infra1 = 30.00000
[ INFO] [1580336984.355522195]: Expected frequency for aligned_depth_to_infra1 = 30.00000
[ INFO] [1580336984.376763705]: Expected frequency for infra2 = 30.00000
[ INFO] [1580336984.392493888]: Expected frequency for color = 30.00000
[ INFO] [1580336984.408744692]: Expected frequency for aligned_depth_to_color = 30.00000
[ INFO] [1580336984.427550385]: setupStreams...
[ INFO] [1580336984.428643909]: insert Depth to Stereo Module
[ INFO] [1580336984.428828786]: insert Color to RGB Camera
[ INFO] [1580336984.428867799]: insert Infrared to Stereo Module
[ INFO] [1580336984.428895157]: insert Infrared to Stereo Module
[ INFO] [1580336984.486476199]: SELECTED BASE:Depth, 0
[ INFO] [1580336984.545136174]: RealSense Node Is Up!
 29/01 17:29:44,607 WARNING [140156860278528] (ds5-timestamp.cpp:76) UVC metadata payloads not available. Please refer to the installation chapter for details.
[ WARN] [1580336985.269209548]: No stream match for pointcloud chosen texture Process - Color
[ WARN] [1580336988.414509582]: No stream match for pointcloud chosen texture Process - Color
F0129 17:29:48.588560  2774 syncedmem.cpp:71] Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***
    @     0x7f92f154d0cd  google::LogMessage::Fail()
    @     0x7f92f154ef33  google::LogMessage::SendToLog()
    @     0x7f92f154cc28  google::LogMessage::Flush()
    @     0x7f92f154f999  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f92f1062e58  caffe::SyncedMemory::mutable_gpu_data()
    @     0x7f92f0ec2272  caffe::Blob<>::mutable_gpu_data()
    @     0x7f92f10d19af  caffe::PoolingLayer<>::Forward_gpu()
    @     0x7f92f1026001  caffe::Net<>::ForwardFromTo()
    @     0x7f92f41f73eb  op::NetCaffe::forwardPass()
    @     0x7f92f42162da  op::PoseExtractorCaffe::forwardPass()
    @     0x7f92f4210715  op::PoseExtractor::forwardPass()
    @     0x7f92f420d6d3  op::WPoseExtractor<>::work()
    @     0x7f92f4247b59  op::Worker<>::checkAndWork()
    @     0x7f92f4247cfb  op::SubThread<>::workTWorkers()
    @     0x7f92f425079b  op::SubThreadQueueInOut<>::work()
    @     0x7f92f424abbb  op::Thread<>::threadFunction()
    @     0x7f92f24739e0  (unknown)
    @     0x7f92f27466db  start_thread
    @     0x7f92f1c9f88f  clone
================================================================================REQUIRED process [rosOpenpose-2] has died!
process has died [pid 2719, exit code -6, cmd /home/ubuntafoo/catkin_ws/devel/lib/ros_openpose/rosOpenpose --hand __name:=rosOpenpose __log:=/home/ubuntafoo/.ros/log/d8509af4-42e6-11ea-9c31-441ca8e2c5e3/rosOpenpose-2.log].
log file: /home/ubuntafoo/.ros/log/d8509af4-42e6-11ea-9c31-441ca8e2c5e3/rosOpenpose-2*.log
Initiating shutdown!
================================================================================
[rviz-6] killing on exit
[camera/realsense2_camera-5] killing on exit
[camera/realsense2_camera_manager-4] killing on exit
[visualizer-3] killing on exit
[rosOpenpose-2] killing on exit
terminate called without an active exception
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

catkin_make fails

hi!

we have openpose-staf running on our

  • Jetson Xavier with
  • Ubuntu 18.04
  • running ROS Melodic

we are now trying to use your openpose_ros to read from a camera stream (image is sent as ROS Message) and send joint info via ros message to another package.

unfortunately
catkin_make fails with this output:

rider@rider:~/Desktop/catkin_ws$ catkin_make ros_openpose
Base path: /home/rider/Desktop/catkin_ws
Source space: /home/rider/Desktop/catkin_ws/src
Build space: /home/rider/Desktop/catkin_ws/build
Devel space: /home/rider/Desktop/catkin_ws/devel
Install space: /home/rider/Desktop/catkin_ws/install
####
#### Running command: "cmake /home/rider/Desktop/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/rider/Desktop/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/rider/Desktop/catkin_ws/install -G Unix Makefiles" in "/home/rider/Desktop/catkin_ws/build"
####
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Using CATKIN_DEVEL_PREFIX: /home/rider/Desktop/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/melodic
-- This workspace overlays: /opt/ros/melodic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.17", minimum required is "2") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/rider/Desktop/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.17") 
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.26
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 1 packages in topological order:
-- ~~  - ros_openpose
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'ros_openpose'
-- ==> add_subdirectory(ros_openpose)
CMake Error at ros_openpose/CMakeLists.txt:9 (target_link_libraries):
  Cannot specify link libraries for target "ros_openpose_node" which is not
  built by this project.


-- Configuring incomplete, errors occurred!
See also "/home/rider/Desktop/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/rider/Desktop/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

edit: this is our CMakeLists in rosopenpose, where we added the path to our openpose and our libopenpose.so



cmake_minimum_required(VERSION 2.8.3)
project(ros_openpose)

## Compile as C++11, supported in ROS Kinetic and newer
add_definitions(-std=c++11)

## Find catkin macros and libraries
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  cv_bridge
  std_msgs
  sensor_msgs
  image_transport
  message_generation
)

## Make sure 'FindGFlags.cmake' and 'FindGlog.cmake' are visible to cmake
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")



###### begin changes by me in CMakeLists ######
set(OPENPOSE_DIR ~/Desktop/openpose_A_F/openpose-staf)
set(OPENPOSE_INCLUDE_DIRS ${OPENPOSE_DIR}/include)
set(OPENPOSE_LINK_LIBRARY ${OPENPOSE_DIR}/build/src/openpose/libopenpose.so)

target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
${OpenCV_LIBS}
${OPENPOSE_LINK_LIBRARY}
${GFLAGS_LIBRARY}
${GLOG_LIBRARY}
)
##### end changes by me in CMakeLists ######


## Add OpenPose and other dependencies
find_package(GFlags)
find_package(Glog)
find_package(OpenCV REQUIRED)
find_package(OpenPose REQUIRED)
find_package(OpenMP)

if(OPENMP_FOUND)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()

## Pass in the version of OpenPose
add_definitions( -DOpenPose_VERSION_MAJOR=${OpenPose_VERSION_MAJOR} )
add_definitions( -DOpenPose_VERSION_MINOR=${OpenPose_VERSION_MINOR} )
add_definitions( -DOpenPose_VERSION_PATCH=${OpenPose_VERSION_PATCH} )

## Print OpenPose version in the terminal
MESSAGE(STATUS "OpenPose VERSION: " ${OpenPose_VERSION})

## Declare ROS messages
add_message_files(
  FILES
  Pixel.msg
  BodyPart.msg
  Person.msg
  Frame.msg
)

generate_messages(
  DEPENDENCIES
  std_msgs
  geometry_msgs
)

# catkin specific configuration
catkin_package(
  INCLUDE_DIRS include
  CATKIN_DEPENDS
  std_msgs
  geometry_msgs
  message_runtime
)

## Build
# Specify additional locations of header files
include_directories(
  include
  ${OpenPose_INCLUDE_DIRS}
  ${GFLAGS_INCLUDE_DIR}
  ${GLOG_INCLUDE_DIR}
  ${OpenCV_INCLUDE_DIRS}
  ${catkin_INCLUDE_DIRS}
)

link_directories(
  ${catkin_LIBRARY_DIRS}
)

## Path to Caffe lib i.e., libcaffe.so
## find /home/ravi/tools/openpose -name libcaffe.so
#set(CAFFE_LIB_FOLDER /home/ravi/tools/openpose/build/caffe/lib)
#link_directories(${CAFFE_LIB_FOLDER})

# Declare a C++ executable and
# specify libraries to link a executable target against
add_executable(rosOpenpose
  src/rosOpenpose.cpp
  src/cameraReader.cpp)

# Bug fix
# src: https://github.com/ravijo/ros_openpose/issues/14#issuecomment-631164300
add_dependencies(rosOpenpose ros_openpose_generate_messages_cpp)


target_link_libraries(rosOpenpose
  ${OpenPose_LIBS}
  ${GFLAGS_LIBRARY}
  ${GLOG_LIBRARY}
  ${OpenCV_LIBS}
  ${catkin_LIBRARIES}
)

add_executable(testCameraReader
  src/testCameraReader.cpp
  src/cameraReader.cpp)

target_link_libraries(testCameraReader
  ${OpenPose_LIBS}
  ${GFLAGS_LIBRARY}
  ${GLOG_LIBRARY}
  ${OpenCV_LIBS}
  ${catkin_LIBRARIES}
)

any advice on this?

thank you and all the best!

sarah

libcaffe.so.1.0.0 missing

Hello, may I know whether the caffe library is needed? I try roslaunch ros_openpose run.launch camera:=nodepth but raise the following error:
error while loading shared libraries: libcaffe.so.1.0.0: cannot open shared object file: No such file or directory

I saw you have commented those lines related to caffe library in CMakeLists.txt.

Error while compiling : error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)

Hi, i'm trying to compile ros_openpose with this hardware and software:

  • Ubuntu 16.04
  • NVIDIA GeForce 840M
  • CUDA Version: 10.2
  • CUDNN 7.6.5 (But I've disabled compiling caffe and openpose with cudnn , not working...)
  • OpenCV 2.4.9
  • Caffe (openpose branch)
  • Openpose 1.5.1
  • ROS KINETIC

I've seen in your troubleshooting section the same error that i'm getting from my compiler but i've tryed the proposed solution (install a recent version of openpose) unsuccesfully...

I would really appreciate if you could you help me please. I remain at your disposal for any questions do you have.

Plese find bellow all the error throwed by the compilator:

(*NOTE: (---) = catkin workspace directory)

Scanning dependencies of target ros_openpose_generate_messages_lisp
[ 78%] Generating Lisp code from ros_openpose/Pixel.msg
(---) /src/ros_openpose/src/rosOpenpose.cpp: In member function ‘virtual sPtrVecSPtrDatum WUserInput::workProducer()’:
(---) /src/ros_openpose/src/rosOpenpose.cpp:74:33: error: no match for ‘operator=’ (operand types are ‘op::Matrix’ and ‘const cv::Mat’)
           datumPtr->cvInputData = colorImage;
                                 ^
In file included from /usr/local/include/openpose/core/array.hpp:7:0,
                 from /usr/local/include/openpose/core/common.hpp:10,
                 from /usr/local/include/openpose/3d/cameraParameterReader.hpp:4,
                 from /usr/local/include/openpose/3d/headers.hpp:5,
                 from /usr/local/include/openpose/headers.hpp:5,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/core/matrix.hpp:95:18: note: candidate: op::Matrix& op::Matrix::operator=(const op::Matrix&)
     class OP_API Matrix
                  ^
/usr/local/include/openpose/core/matrix.hpp:95:18: note:   no known conversion for argument 1 from ‘const cv::Mat’ to ‘const op::Matrix&’
/usr/local/include/openpose/core/matrix.hpp:95:18: note: candidate: op::Matrix& op::Matrix::operator=(op::Matrix&&)
/usr/local/include/openpose/core/matrix.hpp:95:18: note:   no known conversion for argument 1 from ‘const cv::Mat’ to ‘op::Matrix&&’
(---) /src/ros_openpose/src/rosOpenpose.cpp: In function ‘void configureOpenPose(op::Wrapper&, const std::shared_ptr<ros_openpose::CameraReader>&, const ros::Publisher&, const string&, bool)’:
(---) /src/ros_openpose/src/rosOpenpose.cpp:263:5: error: ‘check’ is not a member of ‘op’
     op::check(0 <= FLAGS_logging_level && FLAGS_logging_level <= 255,
     ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:263:5: note: suggested alternative:
In file included from /opt/ros/kinetic/include/ros/ros.h:52:0,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:15:
/opt/ros/kinetic/include/ros/master.h:80:18: note:   ‘ros::master::check’
 ROSCPP_DECL bool check();
                  ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:274:78: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto outputSize = op::flagsToPoint(FLAGS_output_resolution, "-1x-1");
                                                                              ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from (---) src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:277:78: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto netInputSize = op::flagsToPoint(FLAGS_net_resolution, "-1x368");
                                                                              ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:280:106: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto faceNetInputSize = op::flagsToPoint(FLAGS_face_net_resolution, "368x368 (multiples of 16)");
                                                                                                          ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:283:106: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto handNetInputSize = op::flagsToPoint(FLAGS_hand_net_resolution, "368x368 (multiples of 16)");
                                                                                                          ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from(---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:41:23: note: in passing argument 1 of ‘op::Point<int> op::flagsToPoint(const op::String&, const op::String&)’
     OP_API Point<int> flagsToPoint(const String& pointString, const String& pointExample = String("1280x720"));
                       ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:289:65: error: invalid initialization of reference of type ‘const op::String&’ from expression of type ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’
     const auto poseModel = op::flagsToPoseModel(FLAGS_model_pose);
                                                                 ^
In file included from /usr/local/include/openpose/utilities/headers.hpp:10:0,
                 from /usr/local/include/openpose/headers.hpp:44,
                 from(---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/utilities/flagsToOpenPose.hpp:15:22: note: in passing argument 1 of ‘op::PoseModel op::flagsToPoseModel(const op::String&)’
     OP_API PoseModel flagsToPoseModel(const String& poseModeString);
                      ^
(---) /src/ros_openpose/src/rosOpenpose.cpp:354:70: error: no matching function for call to ‘op::WrapperStructPose::WrapperStructPose(<brace-enclosed initializer list>)’
                                                   enableGoogleLogging};
                                                                      ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:13:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from(---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:212:9: note: candidate: op::WrapperStructPose::WrapperStructPose(op::PoseMode, const op::Point<int>&, const op::Point<int>&, op::ScaleMode, int, int, int, float, op::RenderMode, op::PoseModel, bool, float, float, int, const op::String&, const std::vector<op::HeatMapType>&, op::ScaleMode, bool, float, int, bool, double, const op::String&, const op::String&, float, bool)
         WrapperStructPose(
         ^
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:212:9: note:   conversion of argument 2 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(const op::WrapperStructPose&)
     struct OP_API WrapperStructPose
                   ^
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note: candidate: op::WrapperStructPose::WrapperStructPose(op::WrapperStructPose&&)
/usr/local/include/openpose/wrapper/wrapperStructPose.hpp:18:19: note:   candidate expects 1 argument, 26 provided
(---) /src/ros_openpose/src/rosOpenpose.cpp:366:85: error: no matching function for call to ‘op::WrapperStructFace::WrapperStructFace(<brace-enclosed initializer list>)’
                                                   (float)FLAGS_face_render_threshold};
                                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:8:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:69:9: note: candidate: op::WrapperStructFace::WrapperStructFace(bool, op::Detector, const op::Point<int>&, op::RenderMode, float, float, float)
         WrapperStructFace(
         ^
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:69:9: note:   conversion of argument 3 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note: candidate: op::WrapperStructFace::WrapperStructFace(const op::WrapperStructFace&)
     struct OP_API WrapperStructFace
                   ^
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note:   candidate expects 1 argument, 7 provided
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note: candidate: op::WrapperStructFace::WrapperStructFace(op::WrapperStructFace&&)
/usr/local/include/openpose/wrapper/wrapperStructFace.hpp:16:19: note:   candidate expects 1 argument, 7 provided
(---) /src/ros_openpose/src/rosOpenpose.cpp:380:85: error: no matching function for call to ‘op::WrapperStructHand::WrapperStructHand(<brace-enclosed initializer list>)’
                                                   (float)FLAGS_hand_render_threshold};
                                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:10:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:88:9: note: candidate: op::WrapperStructHand::WrapperStructHand(bool, op::Detector, const op::Point<int>&, int, float, op::RenderMode, float, float, float)
         WrapperStructHand(
         ^
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:88:9: note:   conversion of argument 3 would be ill-formed:
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note: candidate: op::WrapperStructHand::WrapperStructHand(const op::WrapperStructHand&)
     struct OP_API WrapperStructHand
                   ^
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note:   candidate expects 1 argument, 9 provided
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note: candidate: op::WrapperStructHand::WrapperStructHand(op::WrapperStructHand&&)
/usr/local/include/openpose/wrapper/wrapperStructHand.hpp:16:19: note:   candidate expects 1 argument, 9 provided
(---) /src/ros_openpose/src/rosOpenpose.cpp:410:69: error: no matching function for call to ‘op::WrapperStructOutput::WrapperStructOutput(<brace-enclosed initializer list>)’
                                                       FLAGS_udp_port};
                                                                     ^
In file included from /usr/local/include/openpose/wrapper/wrapper.hpp:12:0,
                 from /usr/local/include/openpose/wrapper/headers.hpp:6,
                 from /usr/local/include/openpose/headers.hpp:47,
                 from (---) /src/ros_openpose/src/rosOpenpose.cpp:23:
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:150:9: note: candidate: op::WrapperStructOutput::WrapperStructOutput(double, const op::String&, op::DataFormat, const op::String&, const op::String&, int, int, const op::String&, const op::String&, const op::String&, double, bool, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&, const op::String&)
         WrapperStructOutput(
         ^
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:150:9: note:   no known conversion for argument 2 from ‘fLS::clstring {aka std::__cxx11::basic_string<char>}’ to ‘const op::String&’
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note: candidate: op::WrapperStructOutput::WrapperStructOutput(const op::WrapperStructOutput&)
     struct OP_API WrapperStructOutput
                   ^
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note:   candidate expects 1 argument, 19 provided
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note: candidate: op::WrapperStructOutput::WrapperStructOutput(op::WrapperStructOutput&&)
/usr/local/include/openpose/wrapper/wrapperStructOutput.hpp:13:19: note:   candidate expects 1 argument, 19 provided
[ 82%] Generating Lisp code from ros_openpose/Person.msg
[ 85%] Generating Lisp code from ros_openpose/BodyPart.msg
[ 89%] Generating Lisp code from ros_openpose/Frame.msg
[ 92%] Building CXX object ros_openpose/CMakeFiles/rosOpenpose.dir/src/cameraReader.cpp.o
[ 92%] Built target ros_openpose_generate_messages_lisp
Scanning dependencies of target ros_openpose_generate_messages
[ 92%] Built target ros_openpose_generate_messages
ros_openpose/CMakeFiles/rosOpenpose.dir/build.make:82: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o' failed
make[2]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/src/rosOpenpose.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 96%] Linking CXX executable (---) /devel/lib/ros_openpose/testCameraReader
/usr/bin/ld: cannot find -lThreads::Threads
collect2: error: ld returned 1 exit status
ros_openpose/CMakeFiles/testCameraReader.dir/build.make:177: recipe for target '(---) 
 /devel/lib/ros_openpose/testCameraReader' failed
make[2]: *** [(---) /devel/lib/ros_openpose/testCameraReader] Error 1
CMakeFiles/Makefile2:1442: recipe for target 'ros_openpose/CMakeFiles/testCameraReader.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/testCameraReader.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:1555: recipe for target 'ros_openpose/CMakeFiles/rosOpenpose.dir/all' failed
make[1]: *** [ros_openpose/CMakeFiles/rosOpenpose.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

Cannot launch node of type error AND file not found

Hello again,
I just tried using your new normal camera feature and I am having some issues with it.
I set the color_topic to my cv_camera/image_raw topic and tried to launch it.
One error states, that ros_openpose/echo.py couldnt be launched and it for some reason cant find the pose_deploay.prototext

I did install OpenPose with sudo make install and the needed file exists in the openpose folder, but it searches in a completely different non exisiting directory.

And then there is the warning in the end, where it states, that the camera frame is empty, even though I can see the image it sends.

######################################
PARAMETERS

  • /echo/pub_topic: /frame
  • /rosOpenpose/cam_info_topic: cam_info_topic
  • /rosOpenpose/color_topic: /cv_camera/image_raw
  • /rosOpenpose/depth_topic: depth_topic
  • /rosOpenpose/frame_id: no_depth
  • /rosOpenpose/no_depth: True
  • /rosOpenpose/openpose_model_dir: /home/ravi/tools/...
  • /rosOpenpose/pub_topic: /frame
  • /rosdistro: kinetic
  • /rosversion: 1.12.14

NODES
/
echo (ros_openpose/echo.py)
rosOpenpose (ros_openpose/rosOpenpose)

ROS_MASTER_URI=http://localhost:11311

WARNING: Package name "psTutorial" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
process[rosOpenpose-1]: started with pid [7778]
ERROR: cannot launch node of type [ros_openpose/echo.py]: can't locate node [echo.py] in package [ros_openpose]
[ INFO] [1583401261.208366552]: Starting ros_openpose...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.

Error:
Prototxt file not found: /home/ravi/tools/openpose/models/pose/body_25/pose_deploy.prototxt.
Possible causes:
1. Not downloading the OpenPose trained models.
2. Not running OpenPose from the same directory where the model folder is located.
3. Using paths with spaces.

Coming from:

  • /home/student/Desktop/OpenPose/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():58
  • /home/student/Desktop/OpenPose/openpose/src/openpose/net/netCaffe.cpp:ImplNetCaffe():94
  • /home/student/Desktop/OpenPose/openpose/src/openpose/pose/poseExtractorCaffe.cpp:addCaffeNetOnThread():108
  • /home/student/Desktop/OpenPose/openpose/src/openpose/pose/poseExtractorCaffe.cpp:netInitializationOnThread():198
  • /home/student/Desktop/OpenPose/openpose/src/openpose/pose/poseExtractorNet.cpp:initializationOnThread():98
  • /home/student/Desktop/OpenPose/openpose/src/openpose/pose/poseExtractor.cpp:initializationOnThread():34
  • /home/student/Desktop/OpenPose/openpose/include/openpose/pose/wPoseExtractor.hpp:initializationOnThread():57
  • /home/student/Desktop/OpenPose/openpose/include/openpose/thread/worker.hpp:initializationOnThreadNoException():77
    [ WARN] [1583401261.231449402]: Empty color image frame detected. Ignoring...

fatal error: ros_openpose/Frame.h: No such file or directory

Hi ravijo,

when I run catkin_make clean, it appears an error:
fatal error: ros_openpose/Frame.h: No such file or directory
and I only find cameraReader.hpp in the folder ~/catkin_ws/src/ros_openpose/include/ros_openpose. Is it still in programming?

best
Hao

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.