【发布时间】:2013-05-31 14:08:00
【问题描述】:
我在 MATLAB 中导入了一组图像,并将它们转换为灰度图像。我现在必须创建一个图像堆栈,“灰度图像的 3D 矩阵”。在此之后,我必须通过获取“图像堆栈每一层的双重平均值”来创建一维图像强度数组。到目前为止,这是我的代码(我只导入了几张图片):
for i=139:141
string2 = num2str(i);
% Concatenate several strings, produce file name
str = [string, string2, string3];
% Read image
a = imread(str);
% Get image dimensions
size(a)
% Convert to grayscale
b = rgb2gray(a);
'size(a)' 产生'1728 x 2592 x 3'。这适用于所有图像。我想知道如何创建灰度图像的 3D 矩阵,我想知道如何创建上面提到的 1D 图像数组。我假设,也许是错误的,“双重平均”意味着
mean(mean(...)).
对于3D矩阵,我有
% Pre-allocate 3D matrix
ImStack = zeros(1728, 2592, 3, class(b));
% Add images to ImStack
ImStack(:,:,1) = b;
这遵循我在 MathWorks 帮助论坛上找到的模板,
b= zeros(2000,2000,number_of_images,class(a));
b(:,:,1) = a;
但是,我不确定如何继续创建 1D 图像强度阵列。您的建议将不胜感激。谢谢你。
【问题讨论】: