How can I subscribe to Image topic on ROS Matlab and obtain the RGB image?

7 次查看(过去 30 天)
Hello,
Please, how can I extract an image from a ROS Image Message followed by an imshow? I have already subscribed to the correct topic but message.getData() gives me a SlicedChannelBuffer object. Thanks,
Pedro

回答(1 个)

Shantanu
Shantanu 2023-2-2
%Connect to Remote Machine
ip="Your IP Address";
rosinit(ip);
%Command Velocity Publisher
robotCmd = rospublisher("/cmd_vel","DataFormat","struct") ;
velMsg = rosmessage(robotCmd);
%Camera Subscriber
img_sub = rossubscriber("/camera/rgb/image_raw","DataFormat","struct");
%Publish a constant angular velocity
velMsg.Angular.Z=0.5;
send(robotCmd,velMsg);
% Start timer
tic;
figure
while toc < 20
%Image
im = receive(img_sub);
image = rosReadImage(im);
imshow(image);
end
velMsg.Angular.Z=0.0;
send(robotCmd,velMsg);
rosshutdown;
disp("Network Shutdown");

类别

Help CenterFile Exchange 中查找有关 ROS 2 Network Access in Simulink 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by