matlab图像处理3d

时间:2010-05-16 07:28:56

标签: matlab image-processing

我有100个b& w smthing图像。问题是我想以0和1格式扫描每个图像,然后将每个图像放在一个上面,然后再次扫描并以mbynby100格式保存。 我该怎么做以及从哪里开始 _jaysean

1 个答案:

答案 0 :(得分:2)

你的问题很模糊,很难理解,但我的猜测是你需要100 M-by-N grayscale intensity images,将它们设为阈值logical matrices(即包含零和1),然后将它们组合成一个M-by-N-by-100矩阵。您可以自行选择一个阈值,例如0.5,然后将其应用于图片A,如下所示进行阈值处理:

B = A > 0.5;

矩阵B现在将是一个M-by-N逻辑矩阵,其中A大于0.5,而A小于或等于{0}到0.5

如果您拥有Image Processing Toolbox,则可以使用函数GRAYTHRESH来选择阈值,使用函数IM2BW来应用它:

B = im2bw(A,graythresh(A));

完成此操作后,您可以轻松地将图像放入M×by-by-100逻辑矩阵。这是一个如何在循环中执行此操作的示例,假设已定义变量MN

allImages = false(M,N,100);  %# Initialize the matrix to store all the images
for k = 1:100
  %# Here, you would load your image into variable A
  allImages(:,:,k) = im2bw(A,graythresh(A));  %# Threshold A and add it to
                                              %#   the matrix allImages
end