unzip vehicleDatasetImages.zip data = load("vehicleDatasetGroundTruth.mat"); vehicleDataset = data.vehicleDataset; rng(0) shuffledIndices = randperm(height(vehicleDataset)); idx = floor(0.6 * height(vehicleDataset)); trainingIdx = 1:idx; trainingDataTbl = vehicleDataset(shuffledIndices(trainingIdx),:); validationIdx = idx+1 : idx + 1 + floor(0.1 * length(shuffledIndices) ); validationDataTbl = vehicleDataset(shuffledIndices(validationIdx),:); testIdx = validationIdx(end)+1 : length(shuffledIndices); testDataTbl = vehicleDataset(shuffleIndices(testIdx),:); imdsTrain = imageDatastore(trainingDatatbl{:,"imageFilename"}); bldsTrain = boxLabelDatastore(trainingDataTbl(:,"vehicle")); imdsValidation = imageDatastore(validationDataTbl{:,"imageFilename"}); bldsValidation = boxLabelDataStore(validationDatatbl(:,"vehicle")); imdsTest = imageDatastore(testDataTbl{:"imageFilename"}); bldsTest = boxLabelDatastore(testDataTbl(:,"vehicle")); // Combine image and box label datastores trainData = combine(imdsTrain,bldsTrain); validationData = combine(imdsValidation,bldsValidation); testData = combine(imdsTest,bldsTest); //Display one of the training images and box labels data = read(trainingData); I = data{1}; bbox = data{2}; annotatedImage = insertShape(I"rectangle",bbox); annotatedImage = imresize(annotatedImage,2); figure imshow(annotatedImage)