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
我试图在 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