How to add noise to every image in image datastore?

7 visualizaciones (últimos 30 días)
Hi! I am trying to add gauss noise to every image in image datastore. I want to compare a network trained on normal images with a network trained on only noisy images. A found a soltion here:
The way the noise is added here, is by creating a TransformedDatastore, but I can not use it to train a netvork. It gives the folowing error:
It also threw an error every time I wanted to use it's own object functions, even though I followed the steps in the link above. I basically want to have two image datastores with the same pictures, one with noise, one without noise. Is there a way to do that?

Respuesta aceptada

Shadaab Siddiqie
Shadaab Siddiqie el 9 de Dic. de 2020
From my understanding you want add gaussian noise to all the image, you can use imnoise and loop through all the images from your dataset.
  1 comentario
Csanad Levente Balogh
Csanad Levente Balogh el 6 de En. de 2021
Thank you! Yes I assumed it can be done with loops, I just wanted to find a more elegant way. At the end, I used the custom ReadFcn function of the datastore to add the noise. like that:
imageDatastore.ReadFcn = @customReadDatastoreImage
Than the function:
function data = customReadDatastoreImage(filename)
% other settings
% ...
data = imread(filename);
% other preproc (like imresize)
% ...
data = imnoise(data, 'gaussian')
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Pattern Recognition and Classification en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by