matlab寻找一系列图像的像素中值

matlab finding pixelwise median for a series of images

我试图在 matlab 中找到一系列 dicom 图像的像素中值。

我的图片数组大小为 (256, 256, 20) - 20 是 20 张图片。

我是 matlab 的新手,我认为我做错了什么,因为我的代码已经 运行 一个多小时了。这是:

med_img = []
for k = 1:size(Im_Orig,1)
    for i = 1:size(Im_Orig,2)
        med_img(k,i) = median(Im_Orig(k,i,:))
    end
end

我知道尽可能避免嵌套 for 循环,但我找不到更好的解决方案或在网上任何地方找到好的函数。

任何帮助都会很棒!

在一组图像中找到中间图像

这应该沿第 3 个维度取中值,对应于每个相应像素之间的中值。

方法 1:沿第三个维度取中位数:

%Random data simulating image%
Image = round(255.*rand(256,256,20));

Dimension = 3;
Median_Image = median(Image,Dimension);

方法 2:使用 for 循环并向下取每个循环的中值 Vector/Column:

%Random data simulating image%
Image = round(255.*rand(256,256,20));

%Grabbing dimensions of multi-image array%
[Image_Height,Image_Width,Number_Of_Images] = size(Image);


Median_Image = zeros(Image_Height,Image_Width);

for Row = 1: Image_Height
   for Column = 1: Image_Width 
    
Median_Image(Row,Column) = median(Image(Row,Column,:),'all');
       
    
   end
end

运行 使用 MATLAB R2019b