我正在使用 ROS 对 ARdrone 2.0 进行导航,我需要在 PC 的显示器上显示来自前置和底部摄像头的视频流。另外,我已经安装了 ARdrone_autonomy 包。如何可视化 ardrone/front/image_raw、ardrone/bottom/image_raw 主题?
在此先感谢,萨米拉
我正在使用 ROS 对 ARdrone 2.0 进行导航,我需要在 PC 的显示器上显示来自前置和底部摄像头的视频流。另外,我已经安装了 ARdrone_autonomy 包。如何可视化 ardrone/front/image_raw、ardrone/bottom/image_raw 主题?
在此先感谢,萨米拉
试试这个:rosrun image_view image_view image:=/ardrone/image_raw
此外,您需要在https://github.com/AutonomyLab/ardrone_autonomy#pre-requirements中的“相机部分”中研究相机流,以及在“服务”部分中了解如何在相机之间切换。
希望你觉得它有用......我也只是在学习!
如果要编写自己的显示,可以使用 OpenCV 和 cv_bridge。创建一个订阅图像主题的节点,并使用 cv_bridge 将其放入 cv::Mat。从那里使用 cv::imshow() 很容易显示。
void callback(const sensor_msgs::ImageConstPtr &msg) {
cv_bridge::CvImagePtr img;
img = cv_bridge::toCvCopy(msg,sensor_msgs::image_encodings::TYPE_8UC3);
cv::imshow("my display",img->image);
cv::waitKey(1);
}