小编Ego*_*gor的帖子

无法在ROS Kinetic和Python3中使用cv_bridge

我在具有ROS indigo和python3的Ubuntu 14.04上有一个计算机视觉项目,然后不得不在具有ROS动力学的Ubuntu 16.04上进行了开发。在这里,我遇到了多个问题:

1)我安装了opencv,但无法将其导入python3中,错误消息为:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import cv2
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: 
undefined symbol: PyCObject_Type
Run Code Online (Sandbox Code Playgroud)

我发现只是重命名cv2.so

cd /opt/ros/kinetic/lib/python2.7/dist-packages/
sudo mv cv2.so cv2_ros.so
Run Code Online (Sandbox Code Playgroud)

然后我能够导入cv2并使用它

2)然后我无法导入rospy,但是安装python3-catkin-pkg-modules和python3-rospkg-modules解决了该问题

3)最后,我遇到了cv_bridge的问题,它说:

[ERROR] [1520780674.845066]: bad callback: <bound method ViewsBuffer.update of <__main__.ViewsBuffer object at 0x7f5f45a07f28>>
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
    cb(msg)
  File "test.py", line 48, in update
    im = self.bridge.imgmsg_to_cv2(im, "bgr8")
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/cv_bridge/core.py", line 163, in imgmsg_to_cv2
    dtype, n_channels = self.encoding_to_dtype_with_channels(img_msg.encoding)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/cv_bridge/core.py", line …
Run Code Online (Sandbox Code Playgroud)

opencv cmake python-3.x ros

6
推荐指数
1
解决办法
7759
查看次数

标签 统计

cmake ×1

opencv ×1

python-3.x ×1

ros ×1