[ERROR] [1685174019.328336]: bad callback: <bound method image_converter.callback of <__main__.image_converter object at 0x7f320060b910>> Traceback (most recent call last): File "/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py", line 750, in _invoke_callback cb(msg) File "/home/xianxian/catkin_ws/src/robot_vision/scripts/cv_bridge_test.py", line 29, in callback cv2.imshow("Image window", cv_image) cv2.error: OpenCV(4.2.0) /io/opencv/modules/highgui/src/window.cpp:651: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'
时间: 2024-01-10 14:02:58 浏览: 682
TLS_CallBack.rar_TLS CALLBA_pe debugger_tlsCallback_tls_callba_手
这个错误提示看起来和上一个问题非常相似,可能是因为 OpenCV 库缺少 GUI 支持导致的。具体来说,cv2.imshow 函数在调用系统的 GUI 组件时出现了问题,因此需要安装相应的依赖库来解决。你可以尝试按照以下步骤解决此问题:
1. 首先,确认你的系统上已经安装了 libgtk2.0-dev 和 pkg-config 软件包。如果没有安装,请使用以下命令进行安装:
```
sudo apt-get install libgtk2.0-dev pkg-config
```
2. 然后,重新编译和安装 OpenCV 库。可以使用以下命令进行编译和安装:
```
cd opencv-4.2.0 # 进入 OpenCV 库的源代码目录
mkdir build # 创建构建目录
cd build # 进入构建目录
cmake .. # 配置构建选项
make -j8 # 编译库文件(使用 8 个线程加速编译)
sudo make install # 安装库文件到系统目录
```
在重新编译和安装 OpenCV 库之后,重新运行你的代码,应该就可以正常显示图像了。
阅读全文