Taking the median filter of two images

4 次查看(过去 30 天)
Hello all,
I'm doing an image processing problem where I'm solving a regularized l1 minimization problem for x_n where N is a 3x3 neighborhood around a given pixel
to solve this you get that x_n=median([]) the concatination of the neighborhood from the original image and your previous iteration x_n-1.
I didn't know how to solve this with any built in matlab codes so I just made my own.
The problem is that it's pretty inefficient and I was wondering if you peeps had any suggestions!
here's my code. (note: I didn't/don't really care about the boundy of the image)
for nnn=1:50
I_noisy_update = I_noisy1;
for m=2:size(I_noisy1,1)-1
for n=2:size(I_noisy1,2)-1
neighborhood1 = I_noisy1(m-1:m+1,n-1:n+1); % getting the neighborhood of my original image
neighborhood1 = neighborhood1(:);
neighborhood_orig = I_noisy(m-1:m+1,n-1:n+1); % getting the neighborhood of my updated image
neighborhood_orig=neighborhood_orig(:);
neighborhood = [neighborhood_orig;neighborhood1]; % concatinating the two
I_noisy_update(m,n) = median(neighborhood); % getting this median
end
end
I_noisy1 = I_noisy_update; % update my solution
end

回答(1 个)

Pavan Guntha
Pavan Guntha 2021-3-25
You can refer to the documentation of medfilt2 function which is a part of Image processing toolbox which performs median filtering of an image in two dimensions.
  1 个评论
tiwwexx
tiwwexx 2021-3-25
Hey Pavan Thanks for the responce,
I did look into the use of medfilt2. However for my specific application listed above it doesn't "work". Since I need to concatinate my current itteration with a previous itteration then take the median of that larger set I can't just use medfilt2. I could this of making a 3-d array with the third dimmension being the original image in position 1 and the ittereated image in position 2. Then I could directly use something like medfilt3 (a 3-d median filter). Is there anything like this (an n dimmensional median filter?).

请先登录,再进行评论。

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by