How to apply a function on all images in ImageDatastore ?
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ardalan Jalal
el 5 de Feb. de 2021
Comentada: Ardalan Jalal
el 7 de Feb. de 2021
I am using Imagedatastore function for classification problem but now I need to apply an function to all images in imageDatastore
YPred =classify(net,TestImages);
0 comentarios
Respuesta aceptada
Jeremy Hughes
el 5 de Feb. de 2021
Editada: Jeremy Hughes
el 5 de Feb. de 2021
I think this is what you want.
imds = imageDatastore(files,...)
tds = transform(imds,@(img)classify(net,img));
YPred = readall(tds);
3 comentarios
Jeremy Hughes
el 7 de Feb. de 2021
You can do multiple transforms,
imds = imageDatastore(files,...);
tds = transform(imds,@(img) ~imbinarize(img));
tds = transform(tds,@(img) classify(net,img));
YPred = readall(tds);
Based on what you wrote, I want to make sure you understand that this:
@(imd) ~imbinarize(imd)
doesn't take in a datastore as an input, it takes the image data, one-by-one, and then calls imbinarize on each result.
It works as if you called
imds = imageDatastore(files);
while hasdata(imds)
img = read(imds); % read an image from the datastore
img = ~imbinarize(img);
Ypred(end+1) = classify(net,img);
end
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Data Workflows en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!