Question
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,
Expert Answer
John Michell
PhD Expert
Answered Aug 12, 2026
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");
100% Run Guarantee
3-Hour Fast-Track Delivery
Need a Custom Version or Complete Simulation for This Problem?
Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.
Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here
Related ros image subscribe Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →