Filter löschen
Filter löschen

How to add noise to every image in image datastore?

2 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Shadaab Siddiqie
Shadaab Siddiqie am 9 Dez. 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 Kommentar
Csanad Levente Balogh
Csanad Levente Balogh am 6 Jan. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by