How to import segment anything model into matlab?

66 views (last 30 days)
I have played around with segment anything model by metaAI and it is great! I have been using it in python, however, I am wondering, is there a way to import it into matlab? I would like to use the matlab App desginer to design a GUI that uses the SAM
  1 Comment
Mohamed Eltabbal
Mohamed Eltabbal on 4 Oct 2023
Did you manage to use the segment anything ONNX model in matlab for image segmentation

Sign in to comment.

Answers (2)

Surya on 15 May 2023
If you have knowledge of Python, you have the option to utilize the MATLAB Python Interface. You can find details on calling Python functions from MATLAB on link.
However, to use this feature, you must have a MATLAB-compatible version of Python installed on your computer. check
With the interface, you can import SAM into MATLAB.
Example: (MATLAB code)
sam = py.segment_anything.sam_model_registry["<model_type>"](checkpoint="<path/to/checkpoint>")
Make sure that you've installed "segment_anything" in Python using pip.

cui,xingxing on 6 Jan 2024
Edited: cui,xingxing on 6 Jan 2024
In Matlab R2024a, have introduce Image Processing Toolbox Model for Segment Anything Model,no dependent on Python.
Note: currently this model internal function segmentAnythingModel.m have a bug,you should modify from line 303 like follow.
if image_size(1) > image_size(2)
Iresized = imresize(I,[input_size,nan], "bilinear");
scale = input_size / size(I,1);
% Iresized = padarray(Iresized,0,input_size-size(Iresized,2),'post');
Iresized = padarray(Iresized,[0,input_size-size(Iresized,2)],0,'post'); % modify use this!
Iresized = imresize(I,[nan,input_size], "bilinear");
scale = input_size / size(I,2);
Iresized = padarray(Iresized,[input_size-size(Iresized,1),0],0,'post'); % modify use this!
Here link I give a Example.
France on 23 Jan 2024
When the new MATLAB version will be released?
cui,xingxing on 24 Jan 2024
@France ,MATLAB version a is released in March and version b in September each year.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!