combine the string and number

4 views (last 30 days)
weam
weam on 2 Feb 2023
Commented: weam on 6 Feb 2023
hello, I have the coordinates of objects in the image and the path of the image and I want to combine all these in the cell array
trainingData = combine(bldsTrainT,bldsTrainW); % this function to combine
when adding the path of the image, display the error
how can instead this function with others to accept the path

Accepted Answer

Walter Roberson
Walter Roberson on 2 Feb 2023
Are you referring to combine for augmented image data store?
If so then each element you combine, such as bldsTrainT, must be a data store, not a path itself. You would imageDatastore to wrap the path into an image data store and combine.
  8 Comments
Walter Roberson
Walter Roberson on 5 Feb 2023
insertShape only permits a cell array for "line", "polygon", or "filled-polygon". If you want to plot more than one rectangle you need to use a numeric array
RGB = insertShape(I,'Rectangle', [bbox1; bbox2] );
weam
weam on 6 Feb 2023
Thank you so much

Sign in to comment.

More Answers (1)

Aylin
Aylin on 2 Feb 2023
Edited: Aylin on 2 Feb 2023
Hi, I wanted to second Walter's answer which will work best if you want to read the filenames as image data.
However if you do really want the raw filenames in the CombinedDatastore, you can use ArrayDatastore to wrap the filenames before calling combine:
filenames = {'file1.png' 'file2.png'}';
filenameDs = arrayDatastore(filenames, OutputType="same");
trainingData = combine(bldsTrainT,bldsTrainW, filenameDs);
% Or use "transform" to get more control over the combination method
trainingData = transform(bldsTrainT, bldsTrainW, filenameDs, ...
@(trainT, trainW, filename) {trainT trainW filename});
Is this what you're looking for?

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!