- you can't. You would need to send over the RGB image data from VB to MATLAB, e.g. by using the PutWorkspaceData method
- the way you have desgined your function you can't. You would need to make the RGB channels output variables
Calling MATLAB functions in Visual Basic
4 次查看(过去 30 天)
显示 更早的评论
I made a very simple program to try how to call matlab functions in visual basic. My matlab program is this:
function showRGB()
origImage = imread('imagefromvisualbasic.jpg');
redChannel = origImage(:,:,1);
greenChannel = origImage(:,:,2);
blueChannel = origImage(:,:,3);
end
Here's the GUI of the app made in vb.


1. How will I use the imread in matlab to read the image from the openDialogBox of VB?
2. How will I use access the output from MATLAB to show the RGB Channels in the picture box?
Thank you
0 个评论
采纳的回答
Friedrich
2014-1-16
编辑:Friedrich
2014-1-16
Hi,
function [redChannel ,greenChannel,redChannel] = showRGB()
and then call the Execute method
ml.Execute("[a,b,c] = showRGB()")
to create the variables a, b and c in the base workspace which you then can get to VB by calling GetWorkspaceData. The example you mentioned does all that.
6 个评论
Friedrich
2014-1-20
I am not really VB programmer but I guess you have to call the save method and save the image into a stream. As a stream use some byte array. I guess googling for that task should give some hints.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Entering Commands 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
