can you wirte a code in matlab which is using instead of nlfilter

1 view (last 30 days)
MM=nlfilter(rgb2gray(n),Dsize,@redd,M,D,E,k);
enh=im2uint8(mat2gray(MM));

Answers (1)

Image Analyst
Image Analyst on 5 Apr 2020
Just have a for loop over all the images. I think it should go something like this:
for k = 1 : numberOfImages
thisImage = imread(); % Read in your image somehow.
[rows, columns, numberOfColorChannels] = size(thisImage)
if numberOfColorChannels == 3
thisImage = rgb2gray(thisImage);
end
MM = thisImage; % Preallocate to the same size as thisImage.
for row = Dsize(1) : rows - Dsize(1) + 1
for col = Dsize(2) : columns - Dsize(2) + 1
% Get small patch of image.
subImage = thisImage(row:row+Dsize(1) - 1, col:col+Dsize(2)-1);
% Process this patch with the redd() function.
MM(row, col) = redd(subImage);
end
end
end
  4 Comments
Image Analyst
Image Analyst on 5 Apr 2020
OK, so what are your next steps for us? And don't just say "fix it" because you're not giving us anything to help you. No images, no code. What am I supposed to do?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!